@import"https://cdn.jsdelivr.net/npm/cropperjs@1.6.2/dist/cropper.min.css";@font-face{font-family:Montserrat;font-style:normal;font-weight:300;src:local("Montserrat Light"),url(./Montserrat-Light-awkjIf6I.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:300;src:local("Montserrat Light Italic"),url(./Montserrat-LightItalic-DiUprkq8.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;src:local("Montserrat Regular"),url(./Montserrat-Regular-sZls3Q25.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:400;src:local("Montserrat Italic"),url(./Montserrat-Italic-Clgcdvg3.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;src:local("Montserrat Medium"),url(./Montserrat-Medium-5C8I5e8z.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:500;src:local("Montserrat Medium Italic"),url(./Montserrat-MediumItalic-fqdW0i1J.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;src:local("Montserrat SemiBold"),url(./Montserrat-SemiBold-MgP8KZ4B.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:600;src:local("Montserrat SemiBold Italic"),url(./Montserrat-SemiBoldItalic-DMJYChJT.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;src:local("Montserrat Bold"),url(./Montserrat-Bold-Dmddk12W.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:700;src:local("Montserrat Bold Italic"),url(./Montserrat-BoldItalic-Cw6DdVLc.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:100;src:local("Montserrat Thin"),url(./Montserrat-Thin-DUGzJcKo.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:100;src:local("Montserrat Thin Italic"),url(./Montserrat-ThinItalic-B-wSL5gq.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:200;src:local("Montserrat ExtraLight"),url(./Montserrat-ExtraLight-DG9kao4d.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:200;src:local("Montserrat ExtraLight Italic"),url(./Montserrat-ExtraLightItalic-Cu-tbDDQ.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;src:local("Montserrat ExtraBold"),url(./Montserrat-ExtraBold-DoAa1KyB.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:800;src:local("Montserrat ExtraBold Italic"),url(./Montserrat-ExtraBoldItalic-D1T62cTO.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;src:local("Montserrat Black"),url(./Montserrat-Black-CfMQa8Pe.otf) format("opentype");font-display:swap}@font-face{font-family:Montserrat;font-style:italic;font-weight:900;src:local("Montserrat Black Italic"),url(./Montserrat-BlackItalic-y6BmnK3q.otf) format("opentype");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),url(./Roboto-Light-Dwz7nuwl.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),url(./Roboto-LightItalic-C1jb9B99.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local("Roboto Regular"),url(./Roboto-Regular-CmjnF39D.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local("Roboto Italic"),url(./Roboto-Italic-C2tNGqpc.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local("Roboto Medium"),url(./Roboto-Medium-BzTpVR6v.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local("Roboto Medium Italic"),url(./Roboto-MediumItalic-Dq5z0oxR.ttf) format("truetype");font-display:swap}.shift-filters{background-color:var(--lumo-base-color);border-radius:var(--lumo-border-radius-m);box-shadow:var(--lumo-box-shadow-xs);padding:var(--lumo-space-m)}.shift-filter-component{max-width:320px}.filter-container{margin-bottom:var(--lumo-space-m);padding-bottom:var(--lumo-space-m);border-bottom:1px solid var(--lumo-contrast-10pct)}.filter-container:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.filter-label{font-weight:600;color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-xs);display:block}.filter-description{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);margin-bottom:var(--lumo-space-s);display:block}.filter-radio-group,.filter-checkbox-group{margin-top:var(--lumo-space-s)}.filter-radio-group>label,.filter-checkbox-group>label{display:flex;align-items:center;padding:var(--lumo-space-xs) 0}.filter-option{display:flex;align-items:center;gap:var(--lumo-space-s);width:100%}.filter-option-color{width:16px;height:16px;border-radius:50%;flex-shrink:0;border:1px solid var(--lumo-contrast-20pct)}@media(max-width:768px){.shift-filter-component{max-width:100%}.shift-filters{padding:var(--lumo-space-s)}}.sortable-section-list{min-height:200px}.section-card{transition:all .2s ease}.section-card:hover{background-color:var(--lumo-contrast-10pct);border-color:var(--lumo-primary-color-50pct)}.section-card.dragging{opacity:.5;transform:scale(1.02);box-shadow:var(--lumo-box-shadow-m);cursor:grabbing}.section-card .drag-handle:hover{color:var(--lumo-primary-color)}.profile-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--lumo-space-m)}.gallery-image-card{position:relative;overflow:hidden;border-radius:var(--lumo-border-radius-m)}.gallery-image{width:100%;height:200px;object-fit:cover;transition:transform .3s ease;cursor:pointer}.gallery-image:hover{transform:scale(1.05)}.gallery-caption{display:block;padding:var(--lumo-space-xs) var(--lumo-space-s);font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);text-align:center}.gallery-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--lumo-space-s)}.gallery-editor-image{position:relative;aspect-ratio:1;border-radius:var(--lumo-border-radius-m);overflow:hidden;border:1px solid var(--lumo-contrast-20pct)}.gallery-editor-image img{width:100%;height:100%;object-fit:cover}.gallery-editor-image .delete-button{position:absolute;top:var(--lumo-space-xs);right:var(--lumo-space-xs);opacity:0;transition:opacity .2s ease}.gallery-editor-image:hover .delete-button{opacity:1}.profile-header-section{position:relative;text-align:center;padding:var(--lumo-space-xl);background:linear-gradient(135deg,var(--lumo-primary-color-10pct),var(--lumo-contrast-5pct));border-radius:var(--lumo-border-radius-l)}.profile-header-section.with-banner{min-height:300px;background-size:cover;background-position:center;color:#fff}.profile-header-section.with-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#0009);border-radius:var(--lumo-border-radius-l)}.profile-header-content{position:relative;z-index:1}.profile-logo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid white;box-shadow:var(--lumo-box-shadow-m);margin-bottom:var(--lumo-space-m)}.profile-name{font-size:var(--lumo-font-size-xxl);font-weight:700;margin:0}.profile-tagline{font-size:var(--lumo-font-size-l);opacity:.9;margin-top:var(--lumo-space-s)}.profile-about-section{padding:var(--lumo-space-l)}.profile-about-section h2{margin-top:0;color:var(--lumo-primary-text-color)}.profile-about-content{line-height:1.6}.profile-contact-section{padding:var(--lumo-space-l);background-color:var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-m)}.profile-contact-item{display:flex;align-items:center;gap:var(--lumo-space-s);margin-bottom:var(--lumo-space-s)}.profile-contact-item vaadin-icon{color:var(--lumo-primary-color)}.profile-editor-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--lumo-space-l);height:100%}.profile-editor-panel{overflow-y:auto;padding:var(--lumo-space-m);background-color:var(--lumo-base-color);border-radius:var(--lumo-border-radius-m);border:1px solid var(--lumo-contrast-10pct)}.profile-preview-panel{overflow-y:auto;padding:var(--lumo-space-m);background-color:var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-m)}.gallery-lightbox{background-color:#000000f2}.gallery-lightbox-image{max-width:90vw;max-height:80vh;object-fit:contain}.gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background-color:#fff3;color:#fff;border:none;padding:var(--lumo-space-m);cursor:pointer;transition:background-color .2s ease}.gallery-lightbox-nav:hover{background-color:#fff6}.gallery-lightbox-nav.prev{left:var(--lumo-space-m)}.gallery-lightbox-nav.next{right:var(--lumo-space-m)}.public-profile-view{max-width:100%;margin:0 auto;background-color:#fafafa}.public-profile-section{width:100%}.public-profile-section:nth-child(odd){background-color:#fff}.public-profile-section:nth-child(2n){background-color:#f8f9fa}.public-profile-section:first-child{padding-top:0}.public-profile-section:first-child .profile-header-section{border-radius:0}@media(max-width:768px){.profile-editor-layout{grid-template-columns:1fr}.profile-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:1rem!important}.gallery-image{height:150px!important}.gallery-image-card{border-radius:8px!important}.profile-logo{width:100px!important;height:100px!important}.profile-name{font-size:1.75rem!important}.profile-tagline{font-size:1rem!important}.profile-header-section{padding:2rem 1rem!important;min-height:280px!important}.profile-about-section,.profile-custom-section,.profile-contact-section,.profile-gallery-section{padding:2rem 1rem!important}.profile-contact-card{padding:1rem!important}.profile-contact-card .icon-container{width:40px!important;height:40px!important}}@media(max-width:480px){.profile-gallery{grid-template-columns:1fr!important}.profile-logo{width:80px!important;height:80px!important}.profile-name{font-size:1.5rem!important}.profile-header-section{min-height:250px!important}}vaadin-login-overlay,vaadin-login-overlay-wrapper,vaadin-login-overlay::part(overlay),vaadin-login-overlay::part(card),vaadin-login-overlay::part(brand),vaadin-login-overlay::part(form),vaadin-login-overlay [part=overlay],vaadin-login-overlay [part=card],vaadin-login-overlay [part=brand],vaadin-login-overlay [part=form]{background:transparent!important;background-color:transparent!important;background-image:none!important}vaadin-login-overlay [part=card],vaadin-login-overlay::part(card){display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;grid-template-areas:"form"!important}vaadin-login-overlay-wrapper{--lumo-base-color: #ffffff !important;--lumo-primary-color: #2E86DE !important;background:#f8f9fa!important;background-color:#f8f9fa!important;background-image:none!important}vaadin-login-overlay [part=brand],vaadin-login-overlay::part(brand),.vaadin-login-overlay-brand{display:none!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;min-height:0!important;max-height:0!important;visibility:hidden!important;grid-area:unset!important}vaadin-login-overlay [part=form],vaadin-login-overlay::part(form),vaadin-login-overlay [part=content],vaadin-login-overlay::part(content){width:100%!important;max-width:450px!important;margin:auto!important;grid-area:form!important}vaadin-login-overlay[theme~=ximunhu] [part=brand],vaadin-login-overlay[theme~=ximunhu]::part(brand){display:none!important}vaadin-login-overlay-wrapper:before,vaadin-login-overlay-wrapper:after,vaadin-login-overlay:before,vaadin-login-overlay:after{display:none!important;background:transparent!important}vaadin-login-form-wrapper,vaadin-login-form{background:#fff!important;background-color:#fff!important}html body vaadin-login-overlay-wrapper vaadin-login-overlay [part=brand]{display:none!important}vaadin-login-overlay{--_vaadin-login-overlay-brand-background: transparent !important;--_vaadin-login-overlay-brand-background-color: transparent !important}:root{--xh-primary: #1E6DB3;--xh-primary-light: #4C96E6;--xh-primary-dark: #0F4B82;--xh-primary-ultralight: #E7F1FB;--xh-accent-energy: #F4A640;--xh-accent-heart: #FF6B6B;--xh-accent-success: #51CF66;--xh-neutral-900: #1C232B;--xh-neutral-800: #2A313A;--xh-neutral-700: #3B424D;--xh-neutral-600: #515866;--xh-neutral-500: #687180;--xh-neutral-400: #8A93A3;--xh-neutral-300: #B8C0CE;--xh-neutral-200: #E1E6ED;--xh-neutral-100: #F2F5F9;--xh-neutral-50: #F8FAFD;--xh-white: #FFFFFF;--xh-success: #3FC96B;--xh-success-light: #d9f7e3;--xh-warning: #F4A640;--xh-warning-light: #fff1d6;--xh-error: #FF6B6B;--xh-error-light: #ffe3e3;--xh-info: #4C96E6;--xh-info-light: #e4f0fe;--xh-font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--xh-font-heading: "Montserrat", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--xh-font-mono: "JetBrains Mono", "Consolas", monospace;--xh-text-xs: clamp(.69rem, .66rem + .15vw, .78rem);--xh-text-sm: clamp(.83rem, .78rem + .25vw, 1rem);--xh-text-base: clamp(1rem, .93rem + .35vw, 1.125rem);--xh-text-lg: clamp(1.125rem, 1.05rem + .4vw, 1.25rem);--xh-text-xl: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--xh-text-2xl: clamp(1.5rem, 1.35rem + .75vw, 2rem);--xh-text-3xl: clamp(1.875rem, 1.65rem + 1.1vw, 2.5rem);--xh-text-4xl: clamp(2.25rem, 1.95rem + 1.5vw, 3rem);--xh-leading-none: 1;--xh-leading-tight: 1.25;--xh-leading-snug: 1.375;--xh-leading-normal: 1.5;--xh-leading-relaxed: 1.625;--xh-leading-loose: 2;--xh-space-xs: 4px;--xh-space-sm: 8px;--xh-space-md: 16px;--xh-space-lg: 24px;--xh-space-xl: 32px;--xh-space-2xl: 48px;--xh-space-3xl: 64px;--xh-radius-sm: 6px;--xh-radius-md: 12px;--xh-radius-lg: 16px;--xh-radius-xl: 24px;--xh-radius-full: 9999px;--xh-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--xh-shadow-sm: 0 2px 4px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--xh-shadow-md: 0 4px 8px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .06);--xh-shadow-lg: 0 8px 16px rgba(0, 0, 0, .1), 0 4px 8px rgba(0, 0, 0, .08);--xh-shadow-xl: 0 16px 32px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .1);--xh-shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06);--xh-transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--xh-transition-base: .25s cubic-bezier(.4, 0, .2, 1);--xh-transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--xh-transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--xh-z-base: 0;--xh-z-dropdown: 100;--xh-z-sticky: 200;--xh-z-fixed: 300;--xh-z-modal-backdrop: 400;--xh-z-modal: 500;--xh-z-popover: 600;--xh-z-tooltip: 700;--xh-screen-sm: 640px;--xh-screen-md: 768px;--xh-screen-lg: 1024px;--xh-screen-xl: 1280px;--xh-screen-2xl: 1536px;--dialog-width-sm: 400px;--dialog-width-md: 600px;--dialog-width-lg: 800px;--dialog-width-xl: 1000px;--dialog-width-full: 95vw}html{--lumo-primary-color: var(--xh-primary);--lumo-primary-color-50pct: rgba(46, 134, 222, .5);--lumo-primary-color-10pct: rgba(46, 134, 222, .1);--lumo-primary-text-color: var(--xh-primary);--lumo-base-color: var(--xh-white);--lumo-tint-5pct: var(--xh-neutral-50);--lumo-tint-10pct: var(--xh-neutral-100);--lumo-tint-20pct: var(--xh-neutral-200);--lumo-tint-30pct: var(--xh-neutral-300);--lumo-tint-40pct: var(--xh-neutral-400);--lumo-tint-50pct: var(--xh-neutral-500);--lumo-tint-60pct: var(--xh-neutral-600);--lumo-tint-70pct: var(--xh-neutral-700);--lumo-tint-80pct: var(--xh-neutral-800);--lumo-tint-90pct: var(--xh-neutral-900);--lumo-body-text-color: var(--xh-neutral-800);--lumo-secondary-text-color: var(--xh-neutral-600);--lumo-tertiary-text-color: var(--xh-neutral-500);--lumo-header-text-color: var(--xh-neutral-900);--lumo-success-color: var(--xh-success);--lumo-success-text-color: var(--xh-success);--lumo-error-color: var(--xh-error);--lumo-error-text-color: var(--xh-error);--lumo-font-family: var(--xh-font-family);--lumo-font-size-xs: .75rem;--lumo-font-size-s: .875rem;--lumo-font-size-m: 1rem;--lumo-font-size-l: 1.125rem;--lumo-font-size-xl: 1.375rem;--lumo-font-size-xxl: 1.75rem;--lumo-font-size-xxxl: 2.5rem;--lumo-border-radius-s: var(--xh-radius-sm);--lumo-border-radius-m: var(--xh-radius-md);--lumo-border-radius-l: var(--xh-radius-lg);--lumo-box-shadow-xs: var(--xh-shadow-xs);--lumo-box-shadow-s: var(--xh-shadow-sm);--lumo-box-shadow-m: var(--xh-shadow-md);--lumo-box-shadow-l: var(--xh-shadow-lg);--lumo-box-shadow-xl: var(--xh-shadow-xl)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--xh-font-family);color:var(--xh-neutral-800);background-color:var(--xh-neutral-50);background-image:radial-gradient(circle at 12% 8%,rgba(76,150,230,.18),transparent 45%),radial-gradient(circle at 88% 18%,rgba(15,75,130,.14),transparent 40%),linear-gradient(180deg,#fff,#f3f7fc 55%,#eef3f9);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{position:relative;min-height:100%}body:before,body:after{content:"";position:fixed;width:42vw;height:42vw;border-radius:50%;filter:blur(40px);opacity:.45;pointer-events:none;z-index:-1}body:before{top:-18vw;right:-12vw;background:radial-gradient(circle at 30% 30%,rgba(76,150,230,.35),transparent 65%)}body:after{bottom:-20vw;left:-14vw;background:radial-gradient(circle at 40% 40%,rgba(15,75,130,.28),transparent 65%)}h1,h2,h3,h4,h5,h6{color:var(--xh-neutral-900);font-weight:600;font-family:var(--xh-font-heading);line-height:1.3;margin-top:0}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}vaadin-app-layout::part(navbar){background:linear-gradient(120deg,#fffffff2,#f2f5f9e6 70%);box-shadow:0 4px 14px #0f233c14;backdrop-filter:blur(10px);border-bottom:1px solid var(--xh-neutral-200)}vaadin-app-layout::part(drawer){background-color:var(--xh-white);border-right:1px solid var(--xh-neutral-200)}vaadin-app-layout::part(content){animation:xh-content-rise .52s cubic-bezier(.22,1,.36,1)}vaadin-side-nav{padding:var(--xh-space-md)}vaadin-side-nav-item::part(link){border-radius:var(--xh-radius-md);padding:var(--xh-space-sm) var(--xh-space-md);margin:var(--xh-space-xs) 0;transition:all var(--xh-transition-fast);color:var(--xh-neutral-700);font-weight:500}vaadin-side-nav-item vaadin-side-nav-item::part(link){padding-left:calc(var(--xh-space-md) + var(--xh-space-lg));font-size:.95rem;font-weight:400}vaadin-side-nav-item vaadin-side-nav-item::part(link):before{content:"•";position:absolute;left:calc(var(--xh-space-md) + var(--xh-space-sm));color:var(--xh-neutral-400)}vaadin-side-nav-item::part(link):hover{background-color:var(--xh-primary-ultralight);color:var(--xh-primary);transform:translate(2px)}vaadin-side-nav-item[active]::part(link){background:linear-gradient(135deg,var(--xh-primary) 0%,var(--xh-primary-dark) 100%);color:var(--xh-white);box-shadow:0 6px 16px #1e6db340}vaadin-side-nav-item vaadin-side-nav-item[active]::part(link){background:var(--xh-primary-ultralight);color:var(--xh-primary);box-shadow:none;border-left:3px solid var(--xh-primary);padding-left:calc(var(--xh-space-md) + var(--xh-space-lg) - 3px)}vaadin-button{font-weight:500;font-size:var(--xh-text-sm);border-radius:var(--xh-radius-md);transition:all var(--xh-transition-fast);position:relative;overflow:hidden;min-height:40px;padding:0 var(--xh-space-lg);cursor:pointer}vaadin-button[theme~=primary]{background:linear-gradient(135deg,var(--xh-primary) 0%,var(--xh-primary-dark) 100%);color:var(--xh-white);box-shadow:0 6px 18px #1e6db347;border:none}vaadin-button[theme~=primary]:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 10px 24px #1e6db359;filter:brightness(1.05)}vaadin-button[theme~=primary]:active:not([disabled]){transform:translateY(0);filter:brightness(.95)}vaadin-button[theme~=secondary],vaadin-button:not([theme]){background-color:var(--xh-white);color:var(--xh-primary);border:2px solid var(--xh-primary)}vaadin-button[theme~=secondary]:hover:not([disabled]),vaadin-button:not([theme]):hover:not([disabled]){background-color:var(--xh-primary-ultralight);transform:translateY(-1px)}vaadin-button[theme~=tertiary]{background:transparent;color:var(--xh-neutral-700);border:none;box-shadow:none}vaadin-button[theme~=tertiary]:hover:not([disabled]){background:var(--xh-neutral-100);transform:none}vaadin-button[theme~=tertiary]:active:not([disabled]){background:var(--xh-neutral-200)}vaadin-button[theme~=success]{background:linear-gradient(135deg,var(--xh-success) 0%,#40c057 100%);color:var(--xh-white);box-shadow:0 2px 8px #51cf664d;border:none}vaadin-button[theme~=success]:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 4px 12px #51cf6666;filter:brightness(1.05)}vaadin-button[theme~=error]{background:linear-gradient(135deg,var(--xh-error) 0%,#fa5252 100%);color:var(--xh-white);box-shadow:0 2px 8px #ff6b6b4d;border:none}vaadin-button[theme~=error]:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b66;filter:brightness(1.05)}vaadin-button[theme~=warning]{background:linear-gradient(135deg,var(--xh-warning) 0%,#ffa00a 100%);color:var(--xh-neutral-900);box-shadow:0 2px 8px #ffb84d4d;border:none}vaadin-button[theme~=warning]:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 4px 12px #ffb84d66}vaadin-button[theme~=contrast]{background:var(--xh-neutral-800);color:var(--xh-white);border:none}@keyframes xh-content-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}vaadin-button[theme~=contrast]:hover:not([disabled]){background:var(--xh-neutral-900);transform:translateY(-1px)}vaadin-button[theme~=small]{min-height:32px;font-size:var(--xh-text-xs);padding:0 var(--xh-space-md);border-radius:var(--xh-radius-sm)}vaadin-button[theme~=large]{min-height:48px;font-size:var(--xh-text-base);padding:0 var(--xh-space-xl)}vaadin-button[theme~=icon]{width:40px;min-width:40px;height:40px;padding:0;border-radius:var(--xh-radius-md);display:inline-flex;align-items:center;justify-content:center}vaadin-button[theme~=icon][theme~=small]{width:32px;min-width:32px;height:32px}vaadin-button[theme~=icon][theme~=large]{width:48px;min-width:48px;height:48px}vaadin-button[disabled]{opacity:.5;cursor:not-allowed;transform:none!important;filter:grayscale(30%)}vaadin-button.loading{pointer-events:none;color:transparent!important}vaadin-button.loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:buttonSpinner .75s linear infinite}@keyframes buttonSpinner{to{transform:rotate(360deg)}}.button-group{display:inline-flex;gap:var(--xh-space-sm);align-items:center;flex-wrap:wrap}.button-group-vertical{flex-direction:column;align-items:stretch}@media(max-width:640px){.button-group{flex-direction:column;width:100%}.button-group vaadin-button{width:100%}}vaadin-button[theme~=pill]{border-radius:var(--xh-radius-full)}vaadin-text-field,vaadin-password-field,vaadin-text-area,vaadin-combo-box,vaadin-select,vaadin-date-picker,vaadin-time-picker,vaadin-email-field,vaadin-number-field,vaadin-integer-field{--lumo-font-family: var(--xh-font-family);width:100%}vaadin-text-field::part(input-field),vaadin-password-field::part(input-field),vaadin-text-area::part(input-field),vaadin-combo-box::part(input-field),vaadin-select::part(input-field),vaadin-date-picker::part(input-field),vaadin-time-picker::part(input-field),vaadin-email-field::part(input-field),vaadin-number-field::part(input-field),vaadin-integer-field::part(input-field){background-color:var(--xh-white);border:2px solid var(--xh-neutral-200);border-radius:var(--xh-radius-md);transition:all var(--xh-transition-fast);min-height:44px}vaadin-text-field:hover::part(input-field),vaadin-password-field:hover::part(input-field),vaadin-text-area:hover::part(input-field),vaadin-combo-box:hover::part(input-field),vaadin-select:hover::part(input-field),vaadin-date-picker:hover::part(input-field),vaadin-time-picker:hover::part(input-field),vaadin-email-field:hover::part(input-field),vaadin-number-field:hover::part(input-field),vaadin-integer-field:hover::part(input-field){border-color:var(--xh-neutral-400)}vaadin-text-field[focused]::part(input-field),vaadin-password-field[focused]::part(input-field),vaadin-text-area[focused]::part(input-field),vaadin-combo-box[focused]::part(input-field),vaadin-select[focused]::part(input-field),vaadin-date-picker[focused]::part(input-field),vaadin-time-picker[focused]::part(input-field),vaadin-email-field[focused]::part(input-field),vaadin-number-field[focused]::part(input-field),vaadin-integer-field[focused]::part(input-field){border-color:var(--xh-primary);box-shadow:0 0 0 3px var(--xh-primary-ultralight)}vaadin-text-field[invalid]::part(input-field),vaadin-password-field[invalid]::part(input-field),vaadin-text-area[invalid]::part(input-field),vaadin-combo-box[invalid]::part(input-field),vaadin-select[invalid]::part(input-field),vaadin-date-picker[invalid]::part(input-field),vaadin-time-picker[invalid]::part(input-field),vaadin-email-field[invalid]::part(input-field),vaadin-number-field[invalid]::part(input-field),vaadin-integer-field[invalid]::part(input-field){border-color:var(--xh-error);background-color:var(--xh-error-light)}vaadin-text-field[invalid][focused]::part(input-field),vaadin-password-field[invalid][focused]::part(input-field),vaadin-text-area[invalid][focused]::part(input-field),vaadin-combo-box[invalid][focused]::part(input-field){box-shadow:0 0 0 3px #ff6b6b33}vaadin-text-field::part(label),vaadin-password-field::part(label),vaadin-text-area::part(label),vaadin-combo-box::part(label),vaadin-select::part(label),vaadin-date-picker::part(label),vaadin-time-picker::part(label){font-weight:500;font-size:var(--xh-text-sm);color:var(--xh-neutral-700);margin-bottom:var(--xh-space-xs)}vaadin-text-field[required]::part(label):after,vaadin-password-field[required]::part(label):after,vaadin-combo-box[required]::part(label):after,vaadin-select[required]::part(label):after,vaadin-date-picker[required]::part(label):after{content:" *";color:var(--xh-error)}vaadin-text-field::part(helper-text),vaadin-password-field::part(helper-text),vaadin-text-area::part(helper-text),vaadin-combo-box::part(helper-text){font-size:var(--xh-text-xs);color:var(--xh-neutral-500)}vaadin-text-field::part(error-message),vaadin-password-field::part(error-message),vaadin-text-area::part(error-message),vaadin-combo-box::part(error-message){font-size:var(--xh-text-xs);color:var(--xh-error)}vaadin-text-field[disabled]::part(input-field),vaadin-password-field[disabled]::part(input-field),vaadin-combo-box[disabled]::part(input-field){background-color:var(--xh-neutral-100);border-color:var(--xh-neutral-200);opacity:.7;cursor:not-allowed}vaadin-text-field[readonly]::part(input-field),vaadin-password-field[readonly]::part(input-field){background-color:var(--xh-neutral-50);border-style:dashed}vaadin-text-area::part(input-field){min-height:100px}vaadin-checkbox::part(checkbox),vaadin-radio-button::part(radio){border:2px solid var(--xh-neutral-400);transition:all var(--xh-transition-fast)}vaadin-checkbox:hover::part(checkbox),vaadin-radio-button:hover::part(radio){border-color:var(--xh-primary)}vaadin-checkbox[checked]::part(checkbox),vaadin-radio-button[checked]::part(radio){background-color:var(--xh-primary);border-color:var(--xh-primary)}.form-section{margin-bottom:var(--xh-space-xl)}.form-section-title{font-size:var(--xh-text-lg);font-weight:600;color:var(--xh-neutral-800);margin-bottom:var(--xh-space-md);padding-bottom:var(--xh-space-sm);border-bottom:2px solid var(--xh-primary-ultralight)}.form-row{display:flex;gap:var(--xh-space-md);align-items:flex-start}.form-row>*{flex:1;min-width:0}.form-hint{font-size:var(--xh-text-xs);color:var(--xh-neutral-500);margin-top:var(--xh-space-xs)}@media(max-width:640px){.form-row{flex-direction:column!important;gap:var(--xh-space-md)!important}.form-row>*{width:100%!important;flex:none!important}vaadin-text-field::part(input-field),vaadin-password-field::part(input-field),vaadin-combo-box::part(input-field),vaadin-select::part(input-field),vaadin-date-picker::part(input-field){min-height:48px}}vaadin-form-layout{--vaadin-form-layout-column-spacing: var(--xh-space-md)}@media(max-width:640px){vaadin-form-layout{--vaadin-form-layout-column-spacing: 0}}vaadin-grid{background-color:var(--xh-white);border-radius:var(--xh-radius-lg);box-shadow:var(--xh-shadow-sm);overflow:hidden}vaadin-grid::part(header-cell){background-color:var(--xh-neutral-50);color:var(--xh-neutral-700);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:2px solid var(--xh-neutral-200)}vaadin-grid::part(body-cell){padding:var(--xh-space-md);border-bottom:1px solid var(--xh-neutral-100)}vaadin-grid::part(row):hover{background-color:var(--xh-primary-ultralight)}vaadin-grid::part(selected-row){background-color:var(--xh-primary-ultralight)}.card{background-color:var(--xh-white);border-radius:var(--xh-radius-lg);padding:var(--xh-space-xl);box-shadow:var(--xh-shadow-sm);transition:all var(--xh-transition-base)}.card:hover{box-shadow:var(--xh-shadow-md);transform:translateY(-2px)}vaadin-dialog-overlay{--lumo-dialog-overlay-spacing: var(--xh-space-lg)}vaadin-dialog-overlay::part(backdrop){background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}vaadin-dialog-overlay::part(overlay){background-color:var(--xh-white);border-radius:var(--xh-radius-xl);box-shadow:var(--xh-shadow-xl);animation:dialogSlideUp .3s ease-out;display:flex;flex-direction:column;max-width:calc(100vw - (var(--lumo-dialog-overlay-spacing) + var(--lumo-dialog-overlay-spacing)));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:hidden}vaadin-dialog-overlay::part(content){display:flex;flex-direction:column;flex:1;overflow:hidden;padding:0}.dialog-sm vaadin-dialog-overlay::part(overlay){width:min(var(--dialog-width-sm),calc(100vw - 32px))}.dialog-md vaadin-dialog-overlay::part(overlay){width:min(var(--dialog-width-md),calc(100vw - 32px))}.dialog-lg vaadin-dialog-overlay::part(overlay){width:min(var(--dialog-width-lg),calc(100vw - 32px))}.dialog-xl vaadin-dialog-overlay::part(overlay){width:min(var(--dialog-width-xl),calc(100vw - 32px))}.dialog-full vaadin-dialog-overlay::part(overlay){width:var(--dialog-width-full)}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header,.dialog-header-modern{display:flex;align-items:center;gap:var(--xh-space-md);padding:var(--xh-space-lg) var(--xh-space-xl);border-bottom:1px solid var(--xh-neutral-200);background:linear-gradient(135deg,var(--xh-neutral-50) 0%,var(--xh-white) 100%);flex-shrink:0}.dialog-header vaadin-icon,.dialog-header-modern vaadin-icon,.dialog-header .dialog-icon{width:24px;height:24px;color:var(--xh-primary);flex-shrink:0}.dialog-header span,.dialog-header-modern .dialog-title{font-size:var(--xh-text-lg);font-weight:600;color:var(--xh-neutral-900);margin:0;line-height:var(--xh-leading-tight)}.dialog-body,.dialog-body-modern,.modern-form{padding:var(--xh-space-xl);overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.dialog-footer,.dialog-footer-modern{display:flex;justify-content:flex-end;gap:var(--xh-space-sm);padding:var(--xh-space-md) var(--xh-space-xl);border-top:1px solid var(--xh-neutral-200);background:var(--xh-neutral-50);flex-shrink:0}vaadin-dialog-overlay::part(footer){display:flex;justify-content:flex-end;gap:var(--xh-space-sm);padding:var(--xh-space-md) var(--xh-space-xl);border-top:1px solid var(--xh-neutral-200);background:var(--xh-neutral-50)}@media(max-width:640px){vaadin-dialog-overlay{--lumo-dialog-overlay-spacing: 0px}vaadin-dialog-overlay::part(overlay){width:100vw!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;border-radius:0!important;margin:0;position:fixed;inset:0;display:flex!important;flex-direction:column!important;overflow:hidden!important}vaadin-dialog-overlay::part(content){flex:1;overflow-y:auto;min-height:0}vaadin-dialog-overlay::part(footer){flex-shrink:0;padding-bottom:max(var(--xh-space-md),env(safe-area-inset-bottom))}.dialog-header,.dialog-header-modern{padding:var(--xh-space-md) var(--xh-space-lg)}.dialog-body,.dialog-body-modern,.modern-form{padding:var(--xh-space-lg)}.dialog-footer,.dialog-footer-modern,vaadin-dialog-overlay::part(footer){flex-direction:column-reverse;padding:var(--xh-space-md) var(--xh-space-lg);padding-bottom:max(var(--xh-space-md),env(safe-area-inset-bottom))}.dialog-footer vaadin-button,.dialog-footer-modern vaadin-button,vaadin-dialog-overlay::part(footer) vaadin-button{width:100%;min-height:48px}}@media(min-width:641px)and (max-width:1024px){.dialog-sm vaadin-dialog-overlay::part(overlay),.dialog-md vaadin-dialog-overlay::part(overlay){max-width:min(calc(100vw - 64px),700px)}.dialog-lg vaadin-dialog-overlay::part(overlay),.dialog-xl vaadin-dialog-overlay::part(overlay){max-width:calc(100vw - 64px)}}vaadin-notification-card{border-radius:var(--xh-radius-md);box-shadow:var(--xh-shadow-lg);backdrop-filter:blur(10px)}vaadin-notification-card[theme~=success]{background:linear-gradient(135deg,var(--xh-success) 0%,#40c057 100%);color:var(--xh-white)}vaadin-notification-card[theme~=error]{background:linear-gradient(135deg,var(--xh-error) 0%,#fa5252 100%);color:var(--xh-white)}vaadin-notification-card[theme~=warning]{background:linear-gradient(135deg,var(--xh-warning) 0%,#f59f00 100%);color:var(--xh-white)}vaadin-notification-card[theme~=primary]{background:linear-gradient(135deg,#4C96E6 0%,var(--xh-primary) 100%);color:var(--xh-white)}vaadin-progress-bar{height:8px;border-radius:var(--xh-radius-full);background-color:var(--xh-neutral-200)}vaadin-progress-bar::part(bar){background:linear-gradient(90deg,var(--xh-primary) 0%,var(--xh-primary-light) 100%);border-radius:var(--xh-radius-full);transition:width var(--xh-transition-base)}vaadin-tabs{background-color:var(--xh-white);border-radius:var(--xh-radius-lg);padding:var(--xh-space-xs);box-shadow:var(--xh-shadow-xs)}vaadin-tab{border-radius:var(--xh-radius-md);padding:var(--xh-space-sm) var(--xh-space-lg);margin:0 var(--xh-space-xs);transition:all var(--xh-transition-fast);font-weight:500}vaadin-tab:hover{background-color:var(--xh-neutral-100)}vaadin-tab[selected]{background:linear-gradient(135deg,var(--xh-primary) 0%,var(--xh-primary-dark) 100%);color:var(--xh-white);box-shadow:var(--xh-shadow-sm)}vaadin-avatar{border:3px solid var(--xh-white);box-shadow:var(--xh-shadow-sm)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:loading 1.5s infinite}@keyframes loading{to{left:100%}}@media(max-width:768px){:root{--xh-space-md: 12px;--xh-space-lg: 20px;--xh-space-xl: 28px}h1{font-size:var(--xh-text-2xl)}h2{font-size:var(--xh-text-xl)}h3{font-size:var(--xh-text-lg)}}@media(max-width:640px){:root{--xh-space-md: 10px;--xh-space-lg: 16px;--xh-space-xl: 24px;--xh-space-2xl: 32px}h1{font-size:var(--xh-text-xl)}h2{font-size:var(--xh-text-lg)}h3{font-size:var(--xh-text-base)}body{overflow-x:hidden}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--xh-space-md);padding-right:var(--xh-space-md)}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1200px}}.skeleton{background:linear-gradient(90deg,var(--xh-neutral-200) 0%,var(--xh-neutral-100) 50%,var(--xh-neutral-200) 100%);background-size:200% 100%;animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:var(--xh-radius-sm)}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:var(--xh-space-xs);width:100%}.skeleton-text-short{width:60%}.skeleton-text-medium{width:80%}.skeleton-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-avatar-lg{width:64px;height:64px}.skeleton-button{width:100px;height:40px;border-radius:var(--xh-radius-md)}.skeleton-card{width:100%;height:200px;border-radius:var(--xh-radius-lg)}.skeleton-row{display:flex;gap:var(--xh-space-md);align-items:center;padding:var(--xh-space-md) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--xh-space-3xl) var(--xh-space-xl);text-align:center;background:var(--xh-neutral-50);border-radius:var(--xh-radius-lg);border:2px dashed var(--xh-neutral-200)}.empty-state-icon{width:80px;height:80px;margin-bottom:var(--xh-space-lg);color:var(--xh-neutral-400);opacity:.6}.empty-state-icon vaadin-icon,.empty-state-icon svg{width:100%;height:100%}.empty-state-title{font-size:var(--xh-text-lg);font-weight:600;color:var(--xh-neutral-700);margin:0 0 var(--xh-space-sm) 0}.empty-state-description{font-size:var(--xh-text-sm);color:var(--xh-neutral-500);max-width:400px;margin:0 0 var(--xh-space-lg) 0;line-height:var(--xh-leading-relaxed)}.empty-state-action{margin-top:var(--xh-space-md)}.empty-state-compact{padding:var(--xh-space-xl)}.empty-state-compact .empty-state-icon{width:48px;height:48px;margin-bottom:var(--xh-space-md)}.info-box{display:flex;gap:var(--xh-space-md);padding:var(--xh-space-md);border-radius:var(--xh-radius-md);border-left:4px solid;margin-bottom:var(--xh-space-md)}.info-box-icon{flex-shrink:0;width:24px;height:24px}.info-box-content{flex:1;min-width:0}.info-box-title{font-weight:600;margin-bottom:var(--xh-space-xs)}.info-box-text{font-size:var(--xh-text-sm);margin:0;line-height:var(--xh-leading-relaxed)}.info-box-info{background-color:var(--xh-info-light);border-left-color:var(--xh-info)}.info-box-info .info-box-icon{color:var(--xh-info)}.info-box-success{background-color:var(--xh-success-light);border-left-color:var(--xh-success)}.info-box-success .info-box-icon{color:var(--xh-success)}.info-box-warning{background-color:var(--xh-warning-light);border-left-color:var(--xh-warning)}.info-box-warning .info-box-icon{color:var(--xh-warning)}.info-box-error{background-color:var(--xh-error-light);border-left-color:var(--xh-error)}.info-box-error .info-box-icon{color:var(--xh-error)}:focus-visible{outline:3px solid var(--xh-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}vaadin-button:focus-visible,vaadin-text-field:focus-visible,vaadin-combo-box:focus-visible,vaadin-select:focus-visible,vaadin-checkbox:focus-visible,vaadin-radio-button:focus-visible{outline:3px solid var(--xh-primary);outline-offset:2px;border-radius:var(--xh-radius-sm)}.skip-link{position:absolute;top:-100px;left:var(--xh-space-md);background:var(--xh-primary);color:var(--xh-white);padding:var(--xh-space-sm) var(--xh-space-md);border-radius:var(--xh-radius-md);z-index:var(--xh-z-tooltip);transition:top var(--xh-transition-fast);text-decoration:none;font-weight:500}.skip-link:focus{top:var(--xh-space-md)}@media(prefers-contrast:high){:root{--xh-primary: #0066cc;--xh-neutral-200: #999;--xh-neutral-300: #777}vaadin-button{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton{animation:none;background:var(--xh-neutral-200)}}[theme~=dark]{--xh-neutral-900: #FAFBFC;--xh-neutral-800: #E1E4E8;--xh-neutral-700: #B8BCC8;--xh-neutral-600: #8B90A0;--xh-neutral-500: #6C717E;--xh-neutral-400: #565B67;--xh-neutral-300: #3F4450;--xh-neutral-200: #2D3139;--xh-neutral-100: #1A1D23;--xh-neutral-50: #131517;--lumo-base-color: #0D0F11;--xh-shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--xh-shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--xh-shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--xh-shadow-lg: 0 8px 16px rgba(0, 0, 0, .5);--xh-shadow-xl: 0 16px 32px rgba(0, 0, 0, .6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-sm{margin-top:var(--xh-space-sm)}.mt-md{margin-top:var(--xh-space-md)}.mt-lg{margin-top:var(--xh-space-lg)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--xh-space-sm)}.mb-md{margin-bottom:var(--xh-space-md)}.mb-lg{margin-bottom:var(--xh-space-lg)}.p-0{padding:0}.p-sm{padding:var(--xh-space-sm)}.p-md{padding:var(--xh-space-md)}.p-lg{padding:var(--xh-space-lg)}.dashboard-card{background:linear-gradient(135deg,var(--xh-white) 0%,var(--xh-neutral-50) 100%);border-radius:var(--xh-radius-lg);padding:var(--xh-space-xl);box-shadow:var(--xh-shadow-sm);transition:all var(--xh-transition-base);position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--xh-primary-ultralight) 0%,transparent 70%);opacity:0;transition:opacity var(--xh-transition-base)}.dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--xh-shadow-lg)}.dashboard-card:hover:before{opacity:1}.stat-card{background-color:var(--xh-white);border-radius:var(--xh-radius-md);padding:var(--xh-space-lg);text-align:center;box-shadow:var(--xh-shadow-sm);transition:all var(--xh-transition-fast)}.stat-card:hover{transform:scale(1.02);box-shadow:var(--xh-shadow-md)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--xh-primary);margin:var(--xh-space-sm) 0}.stat-label{font-size:.875rem;color:var(--xh-neutral-600);text-transform:uppercase;letter-spacing:.05em}.event-card{background:var(--xh-white);border-radius:var(--xh-radius-lg)!important;overflow:hidden;transition:all var(--xh-transition-base)!important;border:1px solid var(--xh-neutral-200)!important}.event-card:hover{transform:translateY(-2px);box-shadow:var(--xh-shadow-md)!important;border-color:var(--xh-primary-ultralight)!important}.event-card img{transition:transform var(--xh-transition-base)}.event-card:hover img{transform:scale(1.05)}.image-crop-dialog{--lumo-font-family: var(--xh-font-family);border-radius:var(--xh-radius-lg)!important;overflow:hidden}.image-crop-dialog::part(overlay){border-radius:var(--xh-radius-lg);box-shadow:var(--xh-shadow-xl)}.image-crop-dialog::part(content){display:flex;flex-direction:column;padding:0;overflow:hidden}.image-crop-dialog .dialog-header{background-color:var(--xh-white);flex-shrink:0}.image-crop-dialog .dialog-title{color:var(--xh-neutral-900)}.image-crop-dialog .cropper-container{background-color:var(--xh-neutral-100);display:flex;align-items:center;justify-content:center}.image-crop-dialog .cropper-container img{display:block;max-width:100%;max-height:100%}.image-crop-dialog .dialog-footer{background-color:var(--xh-white);flex-shrink:0}.cropper-container{font-size:0;line-height:0;position:relative;user-select:none;direction:ltr;touch-action:none}.cropper-view-box,.cropper-face{border-radius:0}.cropper-view-box{display:block;height:100%;outline:1px solid var(--xh-primary);outline-color:#2e86debf;overflow:hidden;width:100%}.cropper-dashed{border-color:#ffffff80}.cropper-point{background-color:var(--xh-primary);opacity:1;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px var(--xh-white)}.cropper-point.point-se{width:14px;height:14px;border-radius:50%}.cropper-line{background-color:var(--xh-primary);opacity:.5}.cropper-center{display:none}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEX////MzMxFNMxkAAAAEklEQVQI12P4/4HhPwYG4P///wEAwgwI/cMPkQAAAABJRU5ErkJggg==)}.cropper-modal{background-color:#0009}@media(max-width:768px){.image-crop-dialog{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.image-crop-dialog::part(overlay){border-radius:0}.cropper-point{width:14px;height:14px}.cropper-point.point-se{width:18px;height:18px}}.usage-badge{display:inline-flex;align-items:center;gap:var(--xh-space-xs);padding:var(--xh-space-xs) var(--xh-space-md);border-radius:var(--xh-radius-full);font-size:var(--lumo-font-size-s);font-weight:500;white-space:nowrap}.usage-badge-ok{background-color:#51cf6626;color:var(--xh-success);border:1px solid rgba(81,207,102,.3)}.usage-badge-warning{background-color:#ffb84d26;color:#e6a030;border:1px solid rgba(255,184,77,.3)}.usage-badge-error{background-color:#ff6b6b26;color:var(--xh-error);border:1px solid rgba(255,107,107,.3)}.usage-badge-unlimited{background-color:#2e86de26;color:var(--xh-primary);border:1px solid rgba(46,134,222,.3)}@media(max-width:500px){.usage-badge{display:none}}.schedule-view{min-height:100vh}.schedule-filters-sidebar{width:300px;min-width:280px;max-width:320px;flex-shrink:0}.schedule-filter-toggle{display:none}.schedule-cards-container{display:grid;gap:var(--xh-space-md);grid-template-columns:1fr}.schedule-event-card{transition:transform var(--xh-transition-fast),box-shadow var(--xh-transition-fast),border-color var(--xh-transition-fast);border:1px solid transparent}.schedule-event-card:hover{transform:translateY(-2px);box-shadow:var(--xh-shadow-lg);border-color:var(--xh-primary-light)}.schedule-status-available{background-color:var(--lumo-success-color-10pct);color:var(--lumo-success-color)}.schedule-status-filling{background-color:var(--lumo-warning-color-10pct);color:var(--lumo-warning-text-color)}.schedule-status-full{background-color:var(--lumo-error-color-10pct);color:var(--lumo-error-color)}.schedule-skeleton{background:linear-gradient(90deg,var(--lumo-contrast-5pct) 25%,var(--lumo-contrast-10pct) 50%,var(--lumo-contrast-5pct) 75%);background-size:200% 100%;animation:schedule-skeleton-loading 1.5s infinite ease-in-out}@keyframes schedule-skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.schedule-filter-bar{margin-bottom:var(--lumo-space-m)}.filter-dropdown-button{min-width:120px;justify-content:space-between;background-color:transparent;transition:all .2s ease}.filter-dropdown-button:hover{background-color:var(--lumo-contrast-5pct);border-color:var(--lumo-contrast-30pct)}.filter-dropdown-button[active]{background-color:var(--lumo-primary-color-10pct);border-color:var(--lumo-primary-color)}.filter-dropdown-panel{animation:filterDropdownSlideIn .2s ease-out}@keyframes filterDropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-panel vaadin-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--lumo-space-s)}.filter-dropdown-panel vaadin-checkbox{margin:0}.schedule-filter-bar .availability-grid{display:grid;grid-template-columns:auto repeat(3,1fr);gap:var(--lumo-space-xs);align-items:center}.schedule-filter-bar .availability-grid .day-label{font-weight:500;padding-right:var(--lumo-space-s)}.schedule-filter-bar .availability-grid .time-header{text-align:center;font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color)}.event-details-hero{flex-wrap:wrap}.event-details-hero-image-container{flex-shrink:0}.event-details-hero-image{width:100%;border-radius:var(--xh-radius-md)}.event-details-shift-row{transition:background-color var(--xh-transition-fast)}.event-details-shift-row:hover{background-color:var(--lumo-contrast-5pct)}@media(max-width:1024px){.schedule-cards-container{grid-template-columns:1fr}}@media(max-width:768px){.schedule-filters-sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1000;transform:translate(-100%);transition:transform var(--xh-transition-base);box-shadow:var(--xh-shadow-xl)}.schedule-filters-sidebar.mobile-visible{transform:translate(0)}.schedule-filter-toggle{display:flex}.schedule-filter-bar{display:none}.schedule-filter-bar.mobile-expanded{display:flex;position:fixed;inset:auto 0 0;max-height:80vh;overflow-y:auto;z-index:1000;border-radius:var(--lumo-border-radius-l) var(--lumo-border-radius-l) 0 0;box-shadow:0 -4px 20px #00000026;animation:filterBarSlideUp .3s ease-out}@keyframes filterBarSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.schedule-filter-bar vaadin-horizontal-layout{flex-direction:column;width:100%}.filter-dropdown-button{width:100%;min-width:auto}.event-details-hero{flex-direction:column}.event-details-hero-image-container{width:100%!important;max-width:100%}.event-details-shift-row{flex-wrap:wrap;gap:var(--xh-space-sm)}}@media(max-width:640px){.schedule-event-card,.event-details-hero{padding:var(--xh-space-sm)!important}}.tox,.tox *,.tox-tinymce,.tox-tinymce *,.tox-tinymce-aux,.tox-tinymce-aux *{cursor:default}.tox-tinymce-aux{z-index:999999!important;position:fixed!important;pointer-events:auto!important}.tox-menu,.tox-collection,.tox-collection--list,.tox-collection--toolbar,.tox-swatches-menu,.tox-color-picker-container,.tox-insert-table-picker,.tox-tiered-menu,.tox-selected-menu,.tox-menu__grid{z-index:1000000!important;pointer-events:auto!important;cursor:default!important;user-select:none!important;-webkit-user-select:none!important}.tox-collection__item,.tox-collection__item-container,.tox-collection__item-label,.tox-collection__item-icon,.tox-collection__item-accessory,.tox-collection__item-caret,.tox-collection__item-checkmark,.tox-swatch,.tox-menu button,.tox-menu [role=menuitem],.tox-menu [role=option]{pointer-events:auto!important;cursor:pointer!important;user-select:none!important;-webkit-user-select:none!important}.tox-collection__item:hover,.tox-swatch:hover{cursor:pointer!important}.tox-dialog-wrap{z-index:1000001!important;pointer-events:auto!important}.tox-dialog-wrap__backdrop{z-index:1000000!important}.tox-dialog{z-index:1000002!important;pointer-events:auto!important}.tox-toolbar__group,.tox-tbtn,.tox-tbtn__select-chevron,.tox-tbtn__select-label,.tox-split-button,.tox-split-button__chevron{pointer-events:auto!important;cursor:pointer!important}.tox-tbtn *,.tox-collection__item *{pointer-events:none!important}.tox-tbtn,.tox-collection__item{pointer-events:auto!important}.flame-rating{display:inline-flex;align-items:center;gap:var(--xh-space-xs);padding:var(--xh-space-xs)}.flame-rating.interactive{cursor:pointer}.flame-rating.read-only{cursor:default}.flame{width:24px;height:24px;min-width:24px;min-height:24px;transition:all var(--xh-transition-fast);display:inline-flex;align-items:center;justify-content:center;position:relative}.flame .flame-svg,.flame svg{width:100%;height:100%;transition:all var(--xh-transition-fast)}.flame-inactive .flame-svg,.flame-inactive svg,.flame.flame-inactive .flame-svg,.flame.flame-inactive svg{fill:transparent;stroke:#ccc;stroke-width:1.5px}.flame-inactive path,.flame.flame-inactive path{fill:transparent;stroke:#ccc;stroke-width:1.5px}.flame-active .flame-svg,.flame-active svg,.flame.flame-active .flame-svg,.flame.flame-active svg{stroke:#ff4500;stroke-width:.5px;filter:drop-shadow(0 0 2px rgba(255,69,0,.4))}.flame-active path,.flame.flame-active path{fill:url(#flame-gradient);stroke:#ff4500;stroke-width:.5px}.flame-active path{fill:#ff6b35}.flame-rating.interactive .flame:hover .flame-svg,.flame-rating.interactive .flame:hover svg,.flame-rating.interactive .flame.flame-hover .flame-svg,.flame-rating.interactive .flame.flame-hover svg{transform:scale(1.15)}.flame-rating.interactive .flame:hover path,.flame-rating.interactive .flame.flame-hover path{fill:#ff7043;stroke:#ff5722}.flame-rating.disabled,.flame-rating[disabled]{opacity:.5;pointer-events:none}.flame-rating.disabled .flame,.flame-rating[disabled] .flame{cursor:not-allowed}.flame-rating.small .flame{width:16px;height:16px;min-width:16px;min-height:16px}.flame-rating.medium .flame{width:24px;height:24px;min-width:24px;min-height:24px}.flame-rating.large .flame{width:32px;height:32px;min-width:32px;min-height:32px}@keyframes flamePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.flame-rating.interactive .flame-active svg{animation:flamePulse .3s ease-out}@media(max-width:640px){.flame-rating.interactive .flame{width:36px;height:36px;min-width:36px;min-height:36px;padding:var(--xh-space-xs)}.flame-rating.interactive.large .flame{width:44px;height:44px;min-width:44px;min-height:44px}}.flame-rating.interactive .flame:focus-visible{outline:3px solid var(--xh-primary);outline-offset:2px;border-radius:var(--xh-radius-sm)}.feedback-display{display:inline-flex;align-items:center;gap:var(--xh-space-sm)}.feedback-display.compact .flame-rating .flame{width:16px;height:16px;min-width:16px;min-height:16px}.feedback-display.detailed .flame-rating .flame{width:20px;height:20px;min-width:20px;min-height:20px}.feedback-display .rating-count{font-size:var(--xh-text-sm);color:var(--xh-neutral-600)}.feedback-display .rating-average{font-weight:600;color:var(--xh-neutral-800);margin-left:var(--xh-space-xs)}.feedback-status-badge{display:inline-flex;align-items:center;gap:var(--xh-space-xs);padding:var(--xh-space-xs) var(--xh-space-sm);border-radius:var(--xh-radius-full);font-size:var(--xh-text-xs);font-weight:500}.feedback-status-badge.editable{background-color:var(--lumo-warning-color-10pct);color:var(--lumo-warning-text-color)}.feedback-status-badge.locked{background-color:var(--lumo-contrast-10pct);color:var(--lumo-secondary-text-color)}.feedback-status-badge.unread{background-color:var(--lumo-error-color-10pct);color:var(--lumo-error-text-color)}.feedback-dialog .recipient-card{display:flex;align-items:center;gap:var(--xh-space-md);padding:var(--xh-space-md);background-color:var(--xh-neutral-50);border-radius:var(--xh-radius-md);margin-bottom:var(--xh-space-lg)}.feedback-dialog .recipient-avatar{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background-color:var(--lumo-primary-color-10pct);border-radius:50%}.feedback-dialog .recipient-info{flex:1}.feedback-dialog .recipient-name{font-weight:600;color:var(--xh-neutral-900)}.feedback-dialog .shift-info{font-size:var(--xh-text-sm);color:var(--xh-neutral-600)}.feedback-dialog .rating-section{text-align:center;margin:var(--xh-space-xl) 0}.feedback-dialog .rating-label{font-size:var(--xh-text-lg);font-weight:500;color:var(--xh-neutral-800);margin-bottom:var(--xh-space-md)}.feedback-dialog .dialog-flame-rating{justify-content:center}.feedback-dialog .dialog-flame-rating .flame{width:40px;height:40px;min-width:40px;min-height:40px}.feedback-dialog .comment-section{margin-top:var(--xh-space-lg)}.feedback-dialog .comment-hint{font-size:var(--xh-text-xs);color:var(--xh-neutral-500);margin-top:var(--xh-space-xs)}.feedback-dialog .char-counter{text-align:right;font-size:var(--xh-text-xs);color:var(--xh-neutral-400)}.admin-form{width:100%;padding:var(--xh-space-md)}.form-section-header{display:flex;align-items:center;gap:var(--xh-space-sm);padding:var(--xh-space-md) var(--xh-space-lg);margin-top:var(--xh-space-lg);margin-bottom:var(--xh-space-sm);background:linear-gradient(135deg,var(--xh-neutral-50) 0%,var(--xh-white) 100%);border:1px solid var(--xh-neutral-200);border-radius:var(--xh-radius-md);box-shadow:var(--xh-shadow-xs);transition:all var(--xh-transition-fast)}.form-section-header:first-child{margin-top:0}.form-section-header:hover{background:linear-gradient(135deg,var(--xh-primary-ultralight) 0%,var(--xh-neutral-50) 100%);border-color:var(--xh-primary-light);box-shadow:var(--xh-shadow-sm)}.form-section-header vaadin-icon{color:var(--xh-primary);width:20px;height:20px;flex-shrink:0}.form-section-header span{font-size:var(--xh-text-base);font-weight:600;color:var(--xh-neutral-800)}.form-subsection-label{display:block;font-weight:500;color:var(--xh-neutral-700);margin-top:var(--xh-space-md);margin-bottom:var(--xh-space-xs)}.form-helper-text{display:block;font-size:var(--xh-text-xs);color:var(--xh-neutral-500);margin-bottom:var(--xh-space-sm);line-height:var(--xh-leading-relaxed)}.form-field-group{display:flex;flex-wrap:wrap;gap:var(--xh-space-md);align-items:flex-end}.modern-shift-form{--vaadin-form-layout-column-spacing: var(--xh-space-lg)}.modern-shift-form .form-section-header{position:relative}.modern-shift-form .form-section-header:after{content:"";position:absolute;bottom:-1px;left:var(--xh-space-lg);right:var(--xh-space-lg);height:2px;background:linear-gradient(90deg,var(--xh-primary),transparent);opacity:0;transition:opacity var(--xh-transition-fast)}.modern-shift-form .form-section-header:hover:after{opacity:1}.modern-date-form{--vaadin-form-layout-column-spacing: var(--xh-space-lg)}.shift-dialog-seats-section,.shift-dialog-wage-section,.shift-dialog-time-section{display:flex;gap:var(--xh-space-md);align-items:baseline;flex-wrap:wrap}.shift-dialog-seats-section vaadin-integer-field,.shift-dialog-wage-section vaadin-number-field,.shift-dialog-time-section vaadin-time-picker{flex:1;min-width:120px}.date-dialog-excel-section{width:100%}.date-dialog-excel-section vaadin-text-field{width:100%}.card-container{padding:4px 0!important;gap:0!important}.grid-toolbar{gap:8px}@media(max-width:768px){.grid-toolbar{flex-wrap:wrap!important}.grid-toolbar vaadin-text-field{width:100%!important;min-width:0!important;flex:1 1 100%!important}}.admin-cards-grid{display:grid;gap:var(--xh-space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:1024px){.admin-form{padding:var(--xh-space-sm)}.form-section-header{padding:var(--xh-space-sm) var(--xh-space-md)}.modern-shift-form,.modern-date-form{--vaadin-form-layout-column-spacing: var(--xh-space-md)}}@media(max-width:768px){.form-section-header{margin-top:var(--xh-space-md)}.shift-dialog-seats-section,.shift-dialog-wage-section,.shift-dialog-time-section{flex-direction:column;align-items:stretch}.shift-dialog-seats-section vaadin-integer-field,.shift-dialog-wage-section vaadin-number-field,.shift-dialog-time-section vaadin-time-picker{width:100%;min-width:auto}.admin-cards-grid{grid-template-columns:1fr}}@media(max-width:640px){.admin-form{padding:var(--xh-space-xs)}.form-section-header{padding:var(--xh-space-sm);font-size:var(--xh-text-sm)}.form-section-header vaadin-icon{width:16px;height:16px}.admin-card{padding:12px}}
