.fa-solid,.fa-regular,.fa-light,.fa-brands{font-size: 1em;line-height: 1;display: inline-flex;align-items: center;justify-content: center;width: 1.1em;height: 1.1em}vaadin-side-nav-item .fa-solid,vaadin-side-nav-item .fa-regular,vaadin-side-nav-item .fa-light{width: 18px;height: 18px;color: currentColor;font-size: 16px}.login-view,.password-reset-view{min-height: 100dvh;width: 100%;display: flex;flex-direction: column;justify-content: center;align-items: center;padding: var(--vaadin-padding-l);padding-top: max(var(--vaadin-padding-l),6vh);box-sizing: border-box;background: radial-gradient(ellipse 65% 50% at 15% 20%,color-mix(in srgb,var(--vaadin-color-accent) 40%,transparent),transparent 70%),radial-gradient(ellipse 55% 45% at 85% 80%,color-mix(in srgb,#ff5252 25%,transparent),transparent 75%),radial-gradient(ellipse 80% 60% at 50% 100%,color-mix(in srgb,var(--vaadin-color-accent) 18%,transparent),transparent 75%),var(--vaadin-background);background-attachment: fixed;color: var(--vaadin-text-color)}.login-view::before,.password-reset-view::before{content: "";position: fixed;inset: 0;pointer-events: none;background-image: radial-gradient(circle at 30% 30%,rgb(255 255 255 / 0.05) 0,transparent 1px),radial-gradient(circle at 70% 60%,rgb(255 255 255 / 0.035) 0,transparent 1px);background-size: 24px 24px,32px 32px;z-index: 0}.login-card,.password-reset-card{position: relative;z-index: 1;width: 100%;max-width: 22rem;min-width: 0;display: flex;flex-direction: column;gap: var(--vaadin-gap-l);padding: var(--vaadin-padding-xl);background: color-mix(in srgb,var(--vaadin-background-container) 92%,transparent);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);border: 1px solid var(--vaadin-border-color-secondary);border-radius: var(--vaadin-radius-l);box-shadow: 0 1px 0 0 color-mix(in srgb,white 8%,transparent) inset,0 30px 70px -24px rgb(0 0 0 / 0.5)}.login-brand{display: flex;align-items: center;gap: var(--vaadin-gap-m)}.login-brand-mark{width: 60px;height: 60px;border-radius: 15px;object-fit: cover;flex: none;box-shadow: 0 0 0 1px color-mix(in srgb,white 10%,transparent),0 10px 26px -10px rgb(0 0 0 / 0.65)}.login-brand-copy h1{margin: 0;font-size: var(--vaadin-font-size-xl);line-height: 1.1;letter-spacing: -0.01em}.login-brand-copy p{margin: 4px 0 0;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.login-card vaadin-login-form,.login-card vaadin-login-form-wrapper{width: 100%;max-width: 100%;min-width: 0;--vaadin-login-form-width: 100%;--vaadin-login-form-padding: 0;background: transparent;box-shadow: none;padding: 0;border: 0}.login-card vaadin-login-form form[slot="form"]{margin-bottom: var(--vaadin-gap-m)}.login-card vaadin-login-form-wrapper::part(form){padding: 0;background: transparent;box-shadow: none;width: 100%;max-width: 100%}.login-card vaadin-login-form-wrapper::part(form-title),.login-card vaadin-login-form-wrapper::part(form-description),.login-card vaadin-login-form-wrapper::part(form-heading){display: none !important}.login-card vaadin-text-field,.login-card vaadin-password-field,.login-card vaadin-button{width: 100%}.login-card vaadin-login-form h2:empty{display: none}.login-footer{display: flex;flex-wrap: wrap;gap: 6px;align-items: center;justify-content: center;text-align: center;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s);padding-top: var(--vaadin-padding-s);border-top: 1px solid color-mix(in srgb,var(--vaadin-border-color-secondary) 60%,transparent)}.login-footer p{margin: 0}.login-footer a{color: var(--vaadin-color-accent);text-decoration: none;font-weight: 600}.login-footer a:hover{text-decoration: underline}.login-oauth{display: flex;flex-direction: column;gap: var(--vaadin-gap-s);width: 100%}.login-divider{display: flex;align-items: center;gap: 10px;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs);text-transform: uppercase;letter-spacing: 0.08em}.login-divider::before,.login-divider::after{content: "";flex: 1;height: 1px;background: color-mix(in srgb,var(--vaadin-border-color-secondary) 70%,transparent)}.oauth-provider-button{border-radius: 999px !important}.oauth-finish-card{text-align: center;gap: var(--vaadin-gap-m)}.profile-link-button{align-self: flex-start;border-radius: 999px !important}.password-reset-form,.register-form{display: flex;flex-direction: column;gap: var(--vaadin-gap-m)}.register-info{padding: var(--vaadin-padding-m) var(--vaadin-padding-l);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-color-accent) 8%,transparent);border-left: 3px solid var(--vaadin-color-accent);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.register-info p{margin: 0}.register-card{width: min(520px,100%)}.register-name-row{display: grid;grid-template-columns: 1fr 1fr;gap: var(--vaadin-gap-m)}@media (max-width: 480px){.register-name-row{grid-template-columns: 1fr}}.home-view,.popular-view,.search-view,.profile-view,.admin-view,.master-view,.detail-view,.person-view{width: 100%;height: 100%;overflow-y: auto;overflow-x: hidden;box-sizing: border-box}.schedule-view{width: 100%;height: 100%;overflow: hidden;box-sizing: border-box}.starpass-view-title{position: sticky;top: 0;z-index: 10;width: 100%;box-sizing: border-box;background: color-mix(in srgb,var(--vaadin-background) 78%,transparent);backdrop-filter: saturate(180%) blur(18px);-webkit-backdrop-filter: saturate(180%) blur(18px);border-bottom: none;padding: var(--vaadin-padding-s) var(--view-pad-x,var(--vaadin-padding-l));min-height: 56px}.starpass-view-title::after{content: "";position: absolute;inset: auto 0 -16px 0;height: 16px;background: linear-gradient( to bottom,color-mix(in srgb,var(--vaadin-background) 35%,transparent) 0%,transparent 100% );pointer-events: none;opacity: 0;transition: opacity 0.18s ease}.starpass-view-title .starpass-view-title-text{font-size: clamp(1rem,2.2vw,1.25rem);font-weight: 700;margin: 0;line-height: 1.2}.home-view>*,.home-row-container,.poster-row,.poster-row-header,.poster-row-scroller{min-width: 0;max-width: 100%}.home-row-container,.poster-row{width: 100%;flex-shrink: 1 !important}.home-view{--poster-w: 180px;--poster-w-mobile: 130px;--view-pad-x: var(--vaadin-padding-l);display: flex;flex-direction: column;gap: var(--vaadin-gap-xl);padding: 0 0 var(--vaadin-padding-xl)}.home-header-meta{display: flex;align-items: flex-end;justify-content: space-between;gap: var(--vaadin-gap-m);flex-wrap: wrap;padding: var(--vaadin-padding-m) var(--view-pad-x) 0}.home-row-container,.poster-row{padding: 0}.poster-row-header{padding-inline: var(--view-pad-x)}.home-view .poster-row-scroller,.popular-view .poster-row-scroller,.profile-view .poster-row-scroller,.person-view .poster-row-scroller,.detail-view .poster-row-scroller,.detail-section .poster-row-scroller{padding-inline: var(--view-pad-x);scroll-padding-inline: var(--view-pad-x)}.detail-view>.poster-row .poster-row-header{padding-inline: var(--view-pad-x)}.home-subtitle{margin: 0;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s);max-width: 60ch}.command-palette-dialog{--palette-pad: var(--vaadin-padding-s)}.command-palette-dialog [part="overlay"]{background: color-mix(in srgb,var(--vaadin-background-container) 92%,transparent);border: 1px solid var(--vaadin-border-color-secondary);backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px)}.palette-input{margin: 0 0 var(--vaadin-gap-s)}.palette-input-hotkey{border: 1px solid var(--vaadin-border-color-secondary);border-radius: var(--vaadin-radius-s);padding: 1px 6px;font-size: var(--vaadin-font-size-xs);color: var(--vaadin-text-color-secondary);font-family: ui-monospace,monospace}.palette-results{display: flex;flex-direction: column;max-height: 60vh;overflow-y: auto;margin: 0 calc(-1 * var(--palette-pad));padding: 0 var(--palette-pad)}.palette-section-label{font-size: 11px;text-transform: uppercase;letter-spacing: 0.06em;font-weight: 600;color: var(--vaadin-text-color-secondary);padding: var(--vaadin-padding-s) var(--vaadin-padding-s) 4px}.palette-item{display: grid;grid-template-columns: 56px 1fr;align-items: center;gap: var(--vaadin-gap-s);padding: var(--vaadin-padding-s) var(--vaadin-padding-s);border-radius: var(--vaadin-radius-m);cursor: pointer;transition: background 0.1s ease}.palette-item:hover,.palette-item.selected{background: color-mix(in srgb,var(--vaadin-color-accent) 14%,transparent)}.palette-item-poster{width: 56px;aspect-ratio: 2 / 3;border-radius: var(--vaadin-radius-s);overflow: hidden;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container))}.palette-item-poster.palette-item-poster-avatar{width: 40px;height: 40px;aspect-ratio: 1;border-radius: 50%;background: radial-gradient(circle at 30% 30%,color-mix(in srgb,white 25%,transparent),transparent 60%),linear-gradient(135deg,var(--vaadin-color-accent),color-mix(in srgb,var(--vaadin-color-accent) 50%,#c084fc));color: white;margin-top: 4px}.palette-item-poster-avatar .palette-item-poster-placeholder{color: white;font-weight: 700}.palette-item-poster-img{width: 100%;height: 100%;object-fit: cover;display: block}.palette-item-poster-placeholder{width: 100%;height: 100%;display: grid;place-items: center;font-weight: 700;font-size: 0.95rem;color: var(--vaadin-text-color-secondary)}.palette-item-text{display: flex;flex-direction: column;min-width: 0;gap: 2px}.palette-item-title{color: var(--vaadin-text-color);font-weight: 600;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.palette-item-meta{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.palette-empty{text-align: center;color: var(--vaadin-text-color-secondary);padding: var(--vaadin-padding-l)}.palette-footer{display: flex;flex-wrap: wrap;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-s) 0 0;border-top: 1px solid var(--vaadin-border-color-secondary);margin-top: var(--vaadin-gap-s);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs)}.palette-kbd-row{display: inline-flex;align-items: center;gap: var(--vaadin-gap-xs)}.palette-kbd{border: 1px solid var(--vaadin-border-color-secondary);border-radius: var(--vaadin-radius-s);padding: 0 6px;font-family: ui-monospace,monospace;font-size: 11px;background: var(--vaadin-background-container)}.palette-kbd-label{color: var(--vaadin-text-color-secondary)}.detail-titlebar{width: 100%;box-sizing: border-box;background: linear-gradient( to bottom,color-mix(in srgb,var(--vaadin-background) 35%,transparent),color-mix(in srgb,var(--vaadin-background) 5%,transparent) );border-bottom: none}.detail-titlebar .view-title-back{display: inline-flex !important}@media (min-width: 600px) and (max-width: 799px){.starpass-view-title .view-title-search{display: inline-flex !important}}.detail-titlebar h1.starpass-view-title-text:empty{flex: 1 1 0;min-width: 0}.detail-titlebar .view-title-actions:empty{display: none}.detail-view{gap: 0 !important}.detail-view>.detail-hero,.detail-view>.detail-hero-skeleton{margin-top: -56px;padding-top: 56px}.home-version-pill{flex: none;padding: 4px 10px;border-radius: 999px;background: color-mix(in srgb,var(--vaadin-color-accent) 12%,transparent);color: color-mix(in srgb,var(--vaadin-color-accent) 80%,var(--vaadin-text-color));font-size: var(--vaadin-font-size-xs);font-weight: 600;border: 1px solid color-mix(in srgb,var(--vaadin-color-accent) 30%,transparent)}.home-loading{width: 100%;padding: var(--vaadin-padding-m) 0}.poster-row{display: flex;flex-direction: column;gap: var(--vaadin-gap-s)}.poster-row-header{display: flex;align-items: center;justify-content: space-between}.poster-row-header-button{display: inline-flex;align-items: center;gap: 8px;cursor: pointer;user-select: none;color: var(--vaadin-text-color);border-radius: var(--vaadin-radius-s);padding: 4px 6px;margin-left: -6px;transition: background 120ms ease}.poster-row-header-button:hover,.poster-row-header-button:focus-visible{background: color-mix(in srgb,var(--vaadin-color-accent) 10%,transparent);outline: none}.poster-row-chevron{color: var(--vaadin-text-color-secondary);font-size: 0.8em;transition: transform 120ms ease}.poster-row-header-button:hover .poster-row-chevron{transform: translateX(3px);color: var(--vaadin-color-accent)}.poster-row-title{margin: 0;font-size: 1.1rem;font-weight: 700;letter-spacing: -0.005em}.poster-row-scroller{display: flex;gap: var(--vaadin-gap-m);overflow-x: auto;overflow-y: hidden;scroll-snap-type: x proximity;padding: 4px 2px 12px;margin: -4px -2px -12px;scrollbar-width: thin;scrollbar-color: color-mix(in srgb,var(--vaadin-text-color-secondary) 50%,transparent) transparent}.poster-row-scroller::-webkit-scrollbar{height: 6px}.poster-row-scroller::-webkit-scrollbar-thumb{background: color-mix(in srgb,var(--vaadin-text-color-secondary) 35%,transparent);border-radius: 3px}.poster-row-empty{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s);padding: var(--vaadin-padding-m) var(--view-pad-x,var(--vaadin-padding-l))}.poster-card{--w: var(--poster-w);flex: none;width: var(--w);display: flex;flex-direction: column;gap: 8px;cursor: pointer;scroll-snap-align: start;transition: transform 180ms ease}.poster-card:hover,.poster-card:focus-visible{transform: translateY(-2px);outline: none}.poster-card-cover{position: relative;aspect-ratio: 2 / 3;width: 100%;border-radius: var(--vaadin-radius-m);overflow: hidden;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container));box-shadow: 0 0 0 1px color-mix(in srgb,var(--vaadin-border-color-secondary) 80%,transparent) inset,0 14px 32px -16px rgb(0 0 0 / 0.55);transition: box-shadow 180ms ease}.poster-card:hover .poster-card-cover{box-shadow: 0 0 0 1px color-mix(in srgb,var(--vaadin-color-accent) 55%,transparent) inset,0 20px 38px -16px rgb(0 0 0 / 0.6)}.poster-card-img{width: 100%;height: 100%;object-fit: cover;display: block}.poster-card-placeholder{width: 100%;height: 100%;display: grid;place-items: center;color: var(--vaadin-text-color-secondary);font-weight: 700;font-size: 1.2rem;letter-spacing: 0.04em;background: linear-gradient(135deg,color-mix(in srgb,var(--vaadin-color-accent) 12%,transparent),color-mix(in srgb,var(--vaadin-color-accent) 4%,transparent))}.poster-card-online{position: absolute;top: 8px;right: 8px;width: 12px;height: 12px;border-radius: 50%;background: #34d399;box-shadow: 0 0 0 2px color-mix(in srgb,var(--vaadin-background-container) 88%,transparent),0 0 14px 2px color-mix(in srgb,#34d399 60%,transparent)}.poster-card-label{padding: 0 2px}.poster-card-release-date{display: block;margin-top: 2px;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs);font-weight: 500;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.poster-card-title{display: block;max-width: 100%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s);font-weight: 600;line-height: 1.25}.poster-card-skeleton{cursor: default;pointer-events: none}.poster-card-skeleton .poster-card-cover{background: linear-gradient( 110deg,color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent) 30%,color-mix(in srgb,var(--vaadin-text-color-secondary) 22%,transparent) 50%,color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent) 70% );background-size: 200% 100%;animation: poster-skeleton-pulse 1.4s ease-in-out infinite}.poster-card-skeleton .poster-card-label{height: 14px;width: 70%;border-radius: var(--vaadin-radius-s);background: color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent);animation: poster-skeleton-pulse 1.4s ease-in-out infinite;margin-top: 4px}@keyframes poster-skeleton-pulse{0%{opacity: 0.55}50%{opacity: 1}100%{opacity: 0.55}}@media (max-width: 768px){.home-view{--view-pad-x: var(--vaadin-padding-m);padding-block: 0 var(--vaadin-padding-l);gap: var(--vaadin-gap-l)}.poster-card{--w: var(--poster-w-mobile)}}.popular-view{--poster-w: 180px;--poster-w-mobile: 130px;--view-pad-x: var(--vaadin-padding-l);display: flex;flex-direction: column;gap: var(--vaadin-gap-l);padding: 0 0 calc(var(--vaadin-padding-xl) * 2)}.popular-sentinel{width: 100%;height: 1px;pointer-events: none}.popular-subtitle{margin: 0;padding: 0 var(--view-pad-x);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.popular-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(var(--poster-w,180px),1fr));gap: var(--vaadin-gap-l);min-height: 60vh;width: 100%;box-sizing: border-box;padding: 0 var(--view-pad-x)}.popular-grid .poster-card{--w: auto;width: 100%}.popular-loading{grid-column: 1 / -1;padding: var(--vaadin-padding-m) 0}.popular-empty{color: var(--vaadin-text-color-secondary);text-align: center;padding: var(--vaadin-padding-xl) 0;font-size: var(--vaadin-font-size-s)}.popular-view vaadin-button{align-self: center}@media (max-width: 768px){.popular-view{--view-pad-x: var(--vaadin-padding-m);padding-block: 0 calc(var(--vaadin-padding-xl) * 2)}.popular-grid{grid-template-columns: repeat(auto-fill,minmax(var(--poster-w-mobile,130px),1fr));gap: var(--vaadin-gap-m)}}.search-view{--view-pad-x: var(--vaadin-padding-l);padding: 0 0 var(--vaadin-padding-xl)}.search-subtitle{margin: 0;padding: 0 var(--view-pad-x);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.search-view vaadin-text-field{box-sizing: border-box !important;width: calc(100% - var(--view-pad-x) * 2) !important;margin: 0 var(--view-pad-x)}.search-view vaadin-text-field::part(input-field){background: var(--vaadin-background-container);border: 1px solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-m)}.search-chip-bar{display: flex;flex-wrap: wrap;gap: 8px;padding: 0 var(--view-pad-x)}.search-chip{border-radius: 999px !important;padding: 6px 14px !important;background: var(--vaadin-background-container) !important;border: 1px solid var(--vaadin-border-color) !important;color: var(--vaadin-text-color-secondary) !important;font-size: var(--vaadin-font-size-s) !important;font-weight: 500 !important;transition: background 120ms ease,color 120ms ease,border-color 120ms ease}.search-chip:hover{color: var(--vaadin-text-color) !important;border-color: color-mix(in srgb,var(--vaadin-color-accent) 40%,transparent) !important}.search-chip-active{background: var(--vaadin-color-accent) !important;border-color: var(--vaadin-color-accent) !important;color: white !important}.search-hint{color: var(--vaadin-text-color-secondary);text-align: center;margin: 0;padding: var(--vaadin-padding-xl) 0;font-size: var(--vaadin-font-size-s)}.detail-view{--poster-w: 180px;--poster-w-mobile: 130px;--view-pad-x: var(--vaadin-padding-l);display: flex;flex-direction: column;gap: var(--vaadin-gap-xl);padding: 0 0 var(--vaadin-padding-xl)}.detail-view>*{width: 100%;box-sizing: border-box;flex-shrink: 0}.detail-loading{padding: var(--vaadin-padding-xl) var(--vaadin-padding-l)}.detail-error{padding: var(--vaadin-padding-xl) var(--vaadin-padding-l);max-width: 540px;margin: 0 auto;text-align: center}.detail-error-title{margin: 0 0 var(--vaadin-gap-s)}.detail-back-link{color: var(--vaadin-color-accent);text-decoration: none;font-weight: 600}.detail-hero{position: relative;min-height: 360px;padding: 0;overflow-x: clip;display: grid;grid-template-columns: var(--view-pad-x) 220px 1fr var(--view-pad-x);grid-template-rows: 1fr auto;gap: var(--vaadin-gap-l);align-items: end;isolation: isolate}.detail-hero>.detail-poster{grid-column: 2 / 3;grid-row: 2 / 3;margin-bottom: var(--vaadin-padding-l)}.detail-hero>.detail-info{grid-column: 3 / 4;grid-row: 2 / 3;margin-bottom: var(--vaadin-padding-l)}.detail-backdrop{position: absolute;inset: 0;background-position: center top;background-size: cover;z-index: -2;background-color: var(--vaadin-background-container);mask-image: linear-gradient( 180deg,black 0%,black 30%,rgb(0 0 0 / 0.85) 50%,rgb(0 0 0 / 0.55) 70%,rgb(0 0 0 / 0.2) 88%,transparent 100% );-webkit-mask-image: linear-gradient( 180deg,black 0%,black 30%,rgb(0 0 0 / 0.85) 50%,rgb(0 0 0 / 0.55) 70%,rgb(0 0 0 / 0.2) 88%,transparent 100% )}.detail-backdrop-overlay{position: absolute;inset: 0;z-index: -1;background: linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--vaadin-background) 20%,transparent) 80%,transparent 100%),linear-gradient(90deg,color-mix(in srgb,var(--vaadin-background) 35%,transparent) 0%,color-mix(in srgb,var(--vaadin-background) 12%,transparent) 50%,transparent 100%)}html[theme="dark"] .detail-backdrop-overlay{background: linear-gradient(180deg,color-mix(in srgb,var(--vaadin-background) 15%,transparent) 0%,color-mix(in srgb,var(--vaadin-background) 30%,transparent) 80%,transparent 100%),linear-gradient(90deg,color-mix(in srgb,var(--vaadin-background) 70%,transparent) 0%,color-mix(in srgb,var(--vaadin-background) 25%,transparent) 50%,transparent 100%)}.detail-poster{width: 220px;aspect-ratio: 2 / 3;border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container));overflow: visible;position: relative;box-shadow: 0 0 0 1px rgb(0 0 0 / 0.1),0 18px 40px -12px rgb(0 0 0 / 0.35)}html[theme="dark"] .detail-poster{box-shadow: 0 30px 80px -16px rgb(0 0 0 / 0.85)}html[theme="dark"] .detail-poster::after{content: "";position: absolute;inset: -24px;background: rgb(0 0 0 / 0.85);border-radius: var(--vaadin-radius-m);filter: blur(40px);z-index: -1;pointer-events: none;mix-blend-mode: multiply}.detail-poster>*{border-radius: var(--vaadin-radius-m);overflow: hidden}.detail-poster-loading{background: linear-gradient( 110deg,color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent) 30%,color-mix(in srgb,var(--vaadin-text-color-secondary) 22%,transparent) 50%,color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent) 70% );background-size: 200% 100%;animation: poster-skeleton-pulse 1.4s ease-in-out infinite}.detail-poster-img{width: 100%;height: 100%;object-fit: cover;display: block}.detail-poster-placeholder{width: 100%;height: 100%;display: grid;place-items: center;color: var(--vaadin-text-color-secondary);font-weight: 700;font-size: 2rem}.detail-info{display: flex;flex-direction: column;gap: var(--vaadin-gap-s);align-self: end}.detail-title-group{display: flex;flex-direction: column;gap: 2px}.detail-subtitle{font-size: clamp(1.1rem,1.8vw,1.5rem);font-weight: 600;line-height: 1.15;color: var(--detail-hero-text,var(--vaadin-text-color));opacity: 0.92;text-shadow: 0 1px 16px rgb(0 0 0 / 0.5)}.detail-title-link,.detail-meta-link{cursor: pointer}.detail-title-link:hover,.detail-title-link:focus-visible,.detail-meta-link:hover,.detail-meta-link:focus-visible{text-decoration: underline;text-underline-offset: 3px;outline: none}.primary-brand img.brand-logo{width: 32px;height: 32px;border-radius: 9px;object-fit: cover;flex: none}.detail-title{margin: 0;font-size: clamp(1.8rem,3.5vw,2.8rem);line-height: 1.05;letter-spacing: -0.02em;color: var(--detail-hero-text,var(--vaadin-text-color));text-shadow: 0 2px 30px rgb(0 0 0 / 0.5)}.detail-titlebar .starpass-view-title-text{color: var(--detail-bar-text,var(--vaadin-text-color));text-shadow: 0 1px 6px rgb(0 0 0 / 0.35)}.detail-meta{display: flex;flex-wrap: wrap;gap: 8px;align-items: center}.detail-meta-chip{padding: 4px 12px;border-radius: 999px;background: color-mix(in srgb,var(--vaadin-background-container) 80%,transparent);backdrop-filter: blur(8px);border: 1px solid var(--vaadin-border-color-secondary);color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s);display: inline-flex;align-items: center;gap: 6px}.detail-meta-rating{color: var(--vaadin-text-color)}.detail-rating-star{color: #fbbf24}.detail-online-chip{padding: 4px 12px;border-radius: 999px;background: color-mix(in srgb,#34d399 18%,transparent);border: 1px solid color-mix(in srgb,#34d399 50%,transparent);color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s);display: inline-flex;align-items: center;gap: 6px}.detail-online-dot{width: 8px;height: 8px;border-radius: 50%;background: #34d399;box-shadow: 0 0 10px 2px color-mix(in srgb,#34d399 60%,transparent)}.detail-tmdb-badge{padding: 4px 10px;border-radius: 999px;background: color-mix(in srgb,var(--vaadin-background-container) 80%,transparent);backdrop-filter: blur(8px);border: 1px solid var(--vaadin-border-color-secondary);display: inline-flex;align-items: center;line-height: 0;transition: border-color 120ms ease,background 120ms ease}.detail-tmdb-badge:hover{border-color: color-mix(in srgb,#00b3e5 60%,transparent);background: color-mix(in srgb,#00b3e5 12%,var(--vaadin-background-container))}.detail-tmdb-badge-logo{height: 18px;width: auto;display: block}.detail-plex-badge{padding: 4px 10px;border-radius: 999px;background: color-mix(in srgb,var(--vaadin-background-container) 80%,transparent);backdrop-filter: blur(8px);border: 1px solid var(--vaadin-border-color-secondary);display: inline-flex;align-items: center;line-height: 0;transition: border-color 120ms ease,background 120ms ease}.detail-plex-badge:hover{border-color: color-mix(in srgb,#e5a00d 60%,transparent);background: color-mix(in srgb,#e5a00d 14%,var(--vaadin-background-container))}.detail-plex-badge-logo{height: 18px;width: auto;display: block}.detail-subscribe-chip{margin-top: 4px;align-self: flex-start;border-radius: 999px !important}.detail-actions{display: flex;flex-wrap: wrap;gap: var(--vaadin-gap-s);align-items: center;padding: 0 var(--view-pad-x)}.detail-action-button{border-radius: 999px !important;gap: 8px}@media (max-width: 599px){.detail-actions{flex-direction: column;align-items: stretch}.detail-action-button{width: 100%;justify-content: flex-start}.detail-wish-info{margin-left: 0;text-align: left;flex-direction: row;gap: var(--vaadin-gap-xs);align-items: baseline;flex-wrap: wrap}}.detail-wish-info{display: flex;flex-direction: column;margin-left: auto;text-align: right;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.detail-wish-owner{color: var(--vaadin-text-color);font-weight: 600}.detail-overview{padding: 0 var(--view-pad-x);max-width: calc(80ch + var(--view-pad-x) * 2);display: flex;flex-direction: column;gap: var(--vaadin-gap-s)}.detail-section-title{margin: 0 0 var(--vaadin-gap-s);font-size: 1.1rem;font-weight: 700;color: var(--vaadin-text-color)}.detail-overview-body{margin: 0;line-height: 1.55;color: var(--vaadin-text-color)}.detail-section{display: flex;flex-direction: column;gap: var(--vaadin-gap-s)}.detail-section>.detail-section-title{padding: 0 var(--view-pad-x);margin: 0}.cast-card{flex: none;width: 120px;display: flex;flex-direction: column;gap: 6px;scroll-snap-align: start;cursor: pointer;transition: transform 180ms ease}.cast-card:hover,.cast-card:focus-visible{transform: translateY(-2px);outline: none}.person-view{--poster-w: 132px;--poster-w-mobile: 104px;--view-pad-x: var(--vaadin-padding-l);display: flex;flex-direction: column;gap: var(--vaadin-gap-xl);padding: 0 0 var(--vaadin-padding-xl);box-sizing: border-box}.person-view>*{width: 100%;min-width: 0;box-sizing: border-box}.person-hero{display: flex;gap: var(--vaadin-gap-l);align-items: flex-end;padding: var(--vaadin-padding-l) var(--view-pad-x) 0}.person-photo{flex: none;width: 160px;aspect-ratio: 2 / 3;border-radius: var(--vaadin-radius-m);overflow: hidden;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container));box-shadow: 0 18px 40px -16px rgb(0 0 0 / 0.6)}.person-photo-img{width: 100%;height: 100%;object-fit: cover;display: block}.person-photo-placeholder{width: 100%;height: 100%;display: grid;place-items: center;color: var(--vaadin-text-color-secondary);font-weight: 700;font-size: 2rem}.person-meta{display: flex;flex-wrap: wrap;gap: var(--vaadin-gap-s);margin-top: var(--vaadin-gap-s)}.person-bio{margin: 0;max-width: 70ch;color: var(--vaadin-text-color);line-height: 1.6;white-space: pre-line;padding-inline: var(--view-pad-x)}.person-hero-skeleton{min-height: 240px;margin: var(--vaadin-padding-l) var(--view-pad-x) 0;border-radius: var(--vaadin-radius-m);background: linear-gradient( 110deg,color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent) 30%,color-mix(in srgb,var(--vaadin-text-color-secondary) 22%,transparent) 50%,color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent) 70% );background-size: 200% 100%;animation: poster-skeleton-pulse 1.4s ease-in-out infinite}@media (max-width: 768px){.person-hero{flex-direction: column;align-items: flex-start}.person-photo{width: 120px}}.cast-card-photo{width: 120px;height: 120px;border-radius: 50%;overflow: hidden;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container));box-shadow: 0 6px 18px -10px rgb(0 0 0 / 0.5)}.cast-card-img{width: 100%;height: 100%;object-fit: cover;display: block}.cast-card-placeholder{width: 100%;height: 100%;display: grid;place-items: center;color: var(--vaadin-text-color-secondary);font-weight: 700;font-size: 1.5rem}.cast-card-name{color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s);font-weight: 600;line-height: 1.2;text-align: center}.cast-card-char{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs);line-height: 1.2;text-align: center}@media (max-width: 768px){.detail-view{--view-pad-x: var(--vaadin-padding-m)}.detail-hero{grid-template-columns: var(--view-pad-x) 1fr var(--view-pad-x);gap: var(--vaadin-gap-m);align-items: end}.detail-hero>.detail-poster{grid-column: 2 / 3;grid-row: 2 / 3;margin-bottom: var(--vaadin-padding-m);margin-top: var(--vaadin-padding-l)}.detail-hero>.detail-info{grid-column: 2 / 3;grid-row: 3 / 4;margin-bottom: var(--vaadin-padding-l)}.detail-poster{width: 140px}.detail-wish-info{margin-left: 0;text-align: left}}.profile-view{--poster-w: 132px;--poster-w-mobile: 104px;--view-pad-x: var(--vaadin-padding-l);--profile-max-w: 1480px;display: flex;flex-direction: column;gap: var(--vaadin-gap-l);padding: 0 0 var(--vaadin-padding-xl);width: 100%;box-sizing: border-box}.profile-view>*{flex-shrink: 0 !important}.profile-header{display: grid;grid-template-columns: auto 1fr auto;grid-template-rows: auto auto;align-items: center;gap: 12px var(--vaadin-gap-m);width: min(100% - var(--view-pad-x) * 2,var(--profile-max-w));margin-inline: auto;padding: var(--vaadin-padding-l);border-radius: var(--vaadin-radius-l);border: 1px solid var(--vaadin-border-color-secondary);background: radial-gradient(ellipse 70% 140% at 0% 0%,color-mix(in srgb,var(--vaadin-color-accent) 16%,transparent),transparent 70%),color-mix(in srgb,var(--vaadin-background-container) 75%,transparent);box-shadow: 0 18px 44px -28px rgb(0 0 0 / 0.7);box-sizing: border-box}.profile-avatar{grid-row: 1 / span 2;letter-spacing: -0.04em;box-shadow: 0 0 0 4px color-mix(in srgb,var(--vaadin-background-container) 90%,transparent),0 8px 28px -8px color-mix(in srgb,var(--vaadin-color-accent) 55%,transparent)}.profile-id{display: flex;flex-direction: column;gap: 2px}.profile-name{margin: 0;font-size: clamp(1.4rem,2.2vw,1.8rem);line-height: 1.1;letter-spacing: -0.01em}.profile-handle{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.profile-role-pill{justify-self: start;padding: 4px 14px;border-radius: 999px;font-size: var(--vaadin-font-size-xs);font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;background: color-mix(in srgb,var(--vaadin-color-accent) 18%,transparent);color: color-mix(in srgb,var(--vaadin-color-accent) 80%,var(--vaadin-text-color));border: 1px solid color-mix(in srgb,var(--vaadin-color-accent) 35%,transparent)}.profile-role-master{background: color-mix(in srgb,#fbbf24 18%,transparent);color: color-mix(in srgb,#fbbf24 80%,var(--vaadin-text-color));border-color: color-mix(in srgb,#fbbf24 40%,transparent)}.profile-role-admin{background: color-mix(in srgb,#c084fc 18%,transparent);color: color-mix(in srgb,#c084fc 80%,var(--vaadin-text-color));border-color: color-mix(in srgb,#c084fc 40%,transparent)}.profile-stats{grid-column: 3 / span 1;grid-row: 1 / span 2;display: flex;gap: var(--vaadin-gap-m)}.profile-stat{min-width: 80px;padding: 12px 18px;border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-background-container) 88%,transparent);border: 1px solid var(--vaadin-border-color-secondary);text-align: center;display: flex;flex-direction: column;gap: 2px}.profile-stat-value{font-size: 1.4rem;font-weight: 800;color: var(--vaadin-text-color);line-height: 1}.profile-stat-label{font-size: var(--vaadin-font-size-xs);color: var(--vaadin-text-color-secondary);text-transform: uppercase;letter-spacing: 0.04em}.profile-section-title{margin: 0;font-size: 1.2rem;font-weight: 700;letter-spacing: -0.01em;color: var(--vaadin-text-color)}.profile-section-sub{margin: 0;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.profile-section{display: flex;flex-direction: column;gap: var(--vaadin-gap-m);width: min(100% - var(--view-pad-x) * 2,var(--profile-max-w));margin-inline: auto;padding: var(--vaadin-padding-l);border-radius: var(--vaadin-radius-l);border: 1px solid var(--vaadin-border-color-secondary);background: color-mix(in srgb,var(--vaadin-background-container) 75%,transparent);box-shadow: 0 18px 44px -28px rgb(0 0 0 / 0.7);box-sizing: border-box}.profile-view .poster-row{width: min(100% - var(--view-pad-x) * 2,var(--profile-max-w));margin-inline: auto;padding: var(--vaadin-padding-m) 0;border-radius: var(--vaadin-radius-l);border: 1px solid var(--vaadin-border-color-secondary);background: color-mix(in srgb,var(--vaadin-background-container) 75%,transparent);box-shadow: 0 18px 44px -28px rgb(0 0 0 / 0.7);overflow: hidden;box-sizing: border-box}.profile-view .poster-row-header{padding-inline: var(--vaadin-padding-l)}.profile-view .poster-row-scroller{padding-inline: var(--vaadin-padding-l)}.profile-view .poster-row-empty{padding-inline: var(--vaadin-padding-l)}.profile-plex-section{padding-block: var(--vaadin-padding-s)}.profile-plex-empty{margin: 0;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.profile-plex-accounts{display: flex;flex-wrap: wrap;gap: var(--vaadin-gap-s)}.profile-plex-chip{display: flex;align-items: center;gap: var(--vaadin-gap-s);padding: 6px 12px 6px 6px;border-radius: 999px;background: var(--vaadin-surface-2);border: 1px solid var(--vaadin-border-color,transparent);min-width: 0;max-width: 100%}.profile-plex-chip-avatar{flex: 0 0 auto}.profile-plex-chip-text{display: flex;flex-direction: column;min-width: 0;line-height: 1.2}.profile-plex-chip-name{font-weight: 600;font-size: var(--vaadin-font-size-s);color: var(--vaadin-text-color);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.profile-plex-chip-sub{color: var(--vaadin-text-color-secondary);font-size: 0.78rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.profile-plex-stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(120px,1fr));gap: var(--vaadin-gap-s)}.profile-plex-stat{display: flex;flex-direction: column;gap: 2px;padding: 12px 16px;border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-background-container) 88%,transparent);border: 1px solid var(--vaadin-border-color-secondary);text-align: left;transition: transform 120ms ease,border-color 120ms ease,background 120ms ease}.profile-plex-stat.clickable{cursor: pointer}.profile-plex-stat.clickable:hover,.profile-plex-stat.clickable:focus-visible{transform: translateY(-1px);border-color: color-mix(in srgb,var(--vaadin-color-accent) 55%,transparent);background: color-mix(in srgb,var(--vaadin-background-container) 95%,transparent);outline: none}.profile-plex-stat-action{display: inline-flex;align-items: center;gap: 6px;margin-top: 6px;font-size: 0.72rem;text-transform: uppercase;letter-spacing: 0.04em;color: var(--vaadin-color-accent);opacity: 0.85}.profile-plex-stat-action::after{content: "\f061";font-family: "Font Awesome 6 Free";font-weight: 900;font-size: 0.85em}.profile-plex-stat-value{font-size: 1.25rem;font-weight: 700;color: var(--vaadin-text-color)}.profile-plex-stat-label{font-size: var(--vaadin-font-size-xs);color: var(--vaadin-text-color-secondary);text-transform: uppercase;letter-spacing: 0.04em}.profile-plex-hint{margin: 0;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s);font-style: italic}.profile-link-row-list{display: flex;flex-direction: column;gap: 8px}.profile-link-row{display: flex;align-items: center;justify-content: space-between;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-m);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-background-container) 88%,transparent);border: 1px solid var(--vaadin-border-color-secondary)}.profile-link-row-info{display: flex;align-items: center;gap: 12px;color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s)}.profile-link-row-name{display: block;font-weight: 600}.profile-link-row-email{display: block;color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs)}.profile-actions{display: flex;flex-wrap: wrap;gap: var(--vaadin-gap-s)}.profile-actions vaadin-button{border-radius: 999px !important}@media (max-width: 768px){.profile-view{--view-pad-x: var(--vaadin-padding-s);padding-block: 0 var(--vaadin-padding-l);gap: var(--vaadin-gap-m);overflow-x: hidden;min-width: 0}.profile-view .poster-row,.profile-view .poster-row-scroller{max-width: 100%;min-width: 0}.profile-header{display: flex;flex-direction: column;align-items: center;text-align: center;gap: var(--vaadin-gap-s);padding: var(--vaadin-padding-m)}.profile-avatar{width: 96px;height: 96px;font-size: 2rem}.profile-id{align-items: center}.profile-role-pill{justify-self: center}.profile-stats{width: 100%;margin-top: var(--vaadin-gap-s);gap: var(--vaadin-gap-s)}.profile-stat{flex: 1;min-width: 0;padding: 10px 6px}.profile-stat-value{font-size: 1.25rem}.profile-stat-label{font-size: 0.65rem}.profile-section{padding: var(--vaadin-padding-m);gap: var(--vaadin-gap-s);border-radius: var(--vaadin-radius-m)}.profile-plex-stats{grid-template-columns: repeat(auto-fit,minmax(95px,1fr))}.profile-plex-stat{padding: 10px 10px}.profile-plex-stat-value{font-size: 1rem;white-space: nowrap}.profile-plex-stat-label{font-size: 0.62rem}}.profile-wishes-dialog{--vaadin-dialog-content-padding: var(--vaadin-padding-m);min-width: min(560px,92vw);max-width: min(720px,96vw)}.profile-wishes-dialog-title{margin: 0 0 4px;font-size: 1.15rem;font-weight: 700}.profile-wishes-dialog-sub{margin: 0 0 var(--vaadin-gap-m);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.profile-wishes-dialog-list{display: flex;flex-direction: column;gap: var(--vaadin-gap-s);max-height: min(60vh,480px);overflow-y: auto;padding-right: 4px}.profile-wish-row{display: grid;grid-template-columns: 56px 1fr auto;align-items: center;gap: var(--vaadin-gap-m);padding: 10px;border-radius: var(--vaadin-radius-m);border: 1px solid var(--vaadin-border-color-secondary);background: color-mix(in srgb,var(--vaadin-background-container) 88%,transparent)}.profile-wish-row-poster{width: 56px;height: 84px;border-radius: var(--vaadin-radius-s);overflow: hidden;background: color-mix(in srgb,var(--vaadin-background-container) 60%,transparent);display: grid;place-items: center;color: var(--vaadin-text-color-secondary);font-size: 0.7rem}.profile-wish-row-poster img{width: 100%;height: 100%;object-fit: cover}.profile-wish-row-text{display: flex;flex-direction: column;gap: 2px;min-width: 0}.profile-wish-row-title{font-weight: 600;color: var(--vaadin-text-color);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.profile-wish-row-meta{font-size: 0.78rem;color: var(--vaadin-text-color-secondary);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.profile-wish-row-actions{display: flex;gap: 6px}.profile-wish-row-actions vaadin-button{--vaadin-button-padding-inline: 10px}@media (max-width: 480px){.profile-wish-row{grid-template-columns: 48px 1fr}.profile-wish-row-poster{width: 48px;height: 72px}.profile-wish-row-actions{grid-column: 1 / -1;justify-content: flex-end}}.admin-view,.master-view{--view-pad-x: var(--vaadin-padding-l);display: flex;flex-direction: column;gap: var(--vaadin-gap-m);padding: 0 0 var(--vaadin-padding-xl);width: 100%;height: 100%;min-height: 0;box-sizing: border-box}.admin-subtitle,.master-subtitle{margin: 0;padding: 0 var(--view-pad-x);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.admin-tabs,.master-tabs{width: calc(100% - var(--view-pad-x) * 2);margin: 0 var(--view-pad-x);box-sizing: border-box}.admin-tab-panel,.master-tab-panel{padding: 0 var(--view-pad-x);box-sizing: border-box}.admin-grid,.master-grid{--vaadin-grid-background: transparent;--vaadin-grid-cell-background: transparent;--aura-surface-color: transparent;background: transparent !important;border: 1px solid var(--vaadin-border-color-secondary) !important;border-radius: var(--vaadin-radius-l,14px);overflow: hidden}.admin-grid::part(row),.master-grid::part(row){background: transparent}.admin-grid::part(row):hover,.master-grid::part(row):hover{background: color-mix(in srgb,var(--vaadin-color-accent) 8%,transparent)}.admin-grid::part(cell),.master-grid::part(cell){background: transparent;border-bottom: 1px solid color-mix(in srgb,var(--vaadin-border-color-secondary) 50%,transparent)}.admin-grid::part(header-cell),.master-grid::part(header-cell){background: color-mix(in srgb,var(--vaadin-background-container) 92%,transparent);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px);color: var(--vaadin-text-color-secondary);font-weight: 600;text-transform: uppercase;letter-spacing: 0.04em;font-size: var(--vaadin-font-size-xs)}.admin-grid::part(row),.master-grid::part(row){--vaadin-grid-row-min-height: 64px}.admin-cell-poster{width: 44px;height: 66px;border-radius: var(--vaadin-radius-s);overflow: hidden;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container));box-shadow: 0 4px 12px -6px rgb(0 0 0 / 0.4);flex-shrink: 0}.admin-cell-poster-img{width: 100%;height: 100%;object-fit: cover;display: block}.admin-cell-poster-placeholder{width: 100%;height: 100%;display: grid;place-items: center;color: var(--vaadin-text-color-secondary);font-weight: 700;font-size: var(--vaadin-font-size-s)}.admin-cell-stack{display: flex;flex-direction: column;gap: 2px;min-width: 0}.admin-cell-title{color: var(--vaadin-text-color);font-weight: 600;font-size: var(--vaadin-font-size-s);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.admin-cell-subtitle{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs)}.admin-cell-subtitle:empty{display: none}.admin-cell-kind{display: inline-flex;align-items: center;gap: 6px;padding: 4px 10px;border-radius: 999px;font-size: var(--vaadin-font-size-xs);font-weight: 600;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 12%,transparent);color: var(--vaadin-text-color);border: 1px solid var(--vaadin-border-color-secondary)}.admin-cell-kind-request{background: color-mix(in srgb,var(--vaadin-color-accent) 14%,transparent);color: color-mix(in srgb,var(--vaadin-color-accent) 80%,var(--vaadin-text-color));border-color: color-mix(in srgb,var(--vaadin-color-accent) 35%,transparent)}.admin-cell-kind-quality{background: color-mix(in srgb,#f59e0b 14%,transparent);color: color-mix(in srgb,#f59e0b 80%,var(--vaadin-text-color));border-color: color-mix(in srgb,#f59e0b 35%,transparent)}.admin-cell-kind-language{background: color-mix(in srgb,#c084fc 14%,transparent);color: color-mix(in srgb,#c084fc 80%,var(--vaadin-text-color));border-color: color-mix(in srgb,#c084fc 35%,transparent)}.admin-cell-requester{display: flex;align-items: center;gap: 8px;min-width: 0}.admin-cell-requester-text{display: flex;flex-direction: column;gap: 1px;min-width: 0}.admin-cell-interested{font-size: var(--vaadin-font-size-xs);color: color-mix(in srgb,var(--vaadin-color-accent) 75%,var(--vaadin-text-color-secondary));cursor: default;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.admin-cell-handle{font-size: var(--vaadin-font-size-xs);color: var(--vaadin-text-color-secondary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.master-cell-namerow{display: flex;align-items: center;gap: 8px;min-width: 0}.master-cell-username{color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.master-cell-text{display: flex;flex-direction: column;min-width: 0;gap: 1px}.master-cell-subline{color: var(--vaadin-text-color-secondary);font-size: 0.78rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.master-plex-chip-row{display: flex;flex-wrap: wrap;gap: 4px;min-width: 0}.master-plex-chip{display: inline-flex;align-items: center;gap: 4px;padding: 2px 6px 2px 2px;border-radius: 999px;background: var(--vaadin-surface-2);border: 1px solid var(--vaadin-border-color,transparent);max-width: 14em;font-size: 0.78rem;color: var(--vaadin-text-color)}.master-plex-chip-avatar{flex: 0 0 auto}.master-plex-chip-label{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.master-plex-chip-empty{color: var(--vaadin-text-color-secondary);opacity: 0.6}.master-role-badge{display: inline-flex;align-items: center;padding: 2px 8px;border-radius: 999px;font-size: 0.72rem;font-weight: 600;letter-spacing: 0.02em}.master-role-badge.admin{background: color-mix(in srgb,var(--lumo-primary-color,#4778ff) 20%,transparent);color: var(--lumo-primary-text-color,#4778ff)}.master-role-badge-empty{color: var(--vaadin-text-color-secondary);opacity: 0.5}.user-avatar{border-radius: 50%;overflow: hidden;flex-shrink: 0;display: grid;place-items: center;background: radial-gradient(circle at 30% 30%,color-mix(in srgb,white 30%,transparent),transparent 60%),linear-gradient(135deg,var(--vaadin-color-accent),color-mix(in srgb,var(--vaadin-color-accent) 50%,#c084fc));color: white;font-weight: 700;line-height: 1}.user-avatar-sm{width: 28px;height: 28px;font-size: var(--vaadin-font-size-xs)}.user-avatar-md{width: 40px;height: 40px;font-size: var(--vaadin-font-size-s)}.user-avatar-lg{width: 96px;height: 96px;font-size: 2rem}.user-avatar-img{width: 100%;height: 100%;object-fit: cover;display: block}.user-avatar-initials{}.admin-cell-username{color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.admin-cell-date{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s)}.admin-row-actions{display: flex;align-items: center;gap: var(--vaadin-gap-xs)}.admin-grid-open{border-radius: 999px !important}.admin-grid-tmdb-logo{height: 15px;width: auto;display: block}.admin-view>*,.master-view>*,.admin-tab-panel,.master-tab-panel,.admin-tab-panel>*,.master-tab-panel>*,.admin-action-button,.master-action-button{min-width: 0;max-width: 100%}.admin-tab-panel,.master-tab-panel{width: 100%;flex-shrink: 1 !important}.admin-tabs,.master-tabs{border-bottom: 1px solid var(--vaadin-border-color-secondary);flex: none}.admin-tab-label,.master-tab-label{font-weight: 600}.admin-tab-badge,.master-tab-badge{margin-left: 8px;padding: 2px 8px;border-radius: 999px;background: color-mix(in srgb,var(--vaadin-color-accent) 15%,transparent);color: color-mix(in srgb,var(--vaadin-color-accent) 80%,var(--vaadin-text-color));font-size: var(--vaadin-font-size-xs);font-weight: 700}.admin-tab-panel,.master-tab-panel{display: flex;flex-direction: column;gap: var(--vaadin-gap-m);flex: 1 1 0;min-height: 0}.admin-grid,.master-grid{width: 100%}.admin-grid,.master-grid-fill{flex: 1 1 0;min-height: 0 !important}.admin-actions,.master-actions{display: flex;flex-wrap: wrap;gap: 8px;padding: var(--vaadin-padding-s) 0;flex: none}.admin-action-button,.master-action-button{border-radius: 999px !important}.master-audit-filter{align-self: flex-start;min-width: 220px;margin: var(--vaadin-padding-s) 0}.master-audit-event{display: inline-flex;align-items: center;padding: 2px 10px;border-radius: 999px;font-size: 0.78rem;font-weight: 600;background: color-mix(in srgb,var(--vaadin-background-container) 88%,transparent);border: 1px solid var(--vaadin-border-color-secondary);color: var(--vaadin-text-color);white-space: nowrap}.master-audit-event.audit-event-user_deleted,.master-audit-event.audit-event-wish_deleted,.master-audit-event.audit-event-oauth_request_denied,.master-audit-event.audit-event-oauth_request_deleted,.master-audit-event.audit-event-password_reset_denied{background: color-mix(in srgb,#ef4444 18%,transparent);color: color-mix(in srgb,#ef4444 80%,var(--vaadin-text-color));border-color: color-mix(in srgb,#ef4444 35%,transparent)}.master-audit-event.audit-event-oauth_request_approved,.master-audit-event.audit-event-password_reset_approved,.master-audit-event.audit-event-plex_account_linked{background: color-mix(in srgb,#10b981 18%,transparent);color: color-mix(in srgb,#10b981 80%,var(--vaadin-text-color));border-color: color-mix(in srgb,#10b981 35%,transparent)}.master-audit-actor{font-size: 0.85rem;color: var(--vaadin-text-color)}.master-grid vaadin-grid-cell-content{cursor: default}vaadin-grid[role="grid"]:has(.master-audit-event) vaadin-grid-cell-content{cursor: pointer}.master-audit-dialog{--vaadin-dialog-content-padding: var(--vaadin-padding-m);min-width: min(560px,92vw);max-width: min(720px,96vw)}.master-audit-dialog-header{display: flex;flex-direction: column;gap: 2px;margin-bottom: var(--vaadin-gap-m)}.master-audit-dialog-title{margin: 0;font-size: 1.15rem;font-weight: 700}.master-audit-dialog-ts{font-size: 0.8rem;color: var(--vaadin-text-color-secondary)}.master-audit-dialog-meta{display: grid;grid-template-columns: auto 1fr;column-gap: var(--vaadin-gap-m);row-gap: 4px;margin-bottom: var(--vaadin-gap-m);align-items: baseline}.master-audit-dialog-meta-row{display: contents}.master-audit-dialog-meta-label{font-size: 0.72rem;text-transform: uppercase;letter-spacing: 0.04em;color: var(--vaadin-text-color-secondary)}.master-audit-dialog-meta-value{font-size: 0.88rem;color: var(--vaadin-text-color);overflow-wrap: anywhere}.master-audit-dialog-payload{margin: 0;padding: var(--vaadin-padding-s);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-background-container) 95%,transparent);border: 1px solid var(--vaadin-border-color-secondary);color: var(--vaadin-text-color);font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size: 0.78rem;line-height: 1.4;max-height: 50vh;overflow: auto;white-space: pre-wrap;word-break: break-word}.master-plex-link-cell{display: flex;align-items: center;justify-content: space-between;gap: 8px;width: 100%;cursor: pointer;min-width: 0}.master-plex-link-label{flex: 1 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.master-plex-link-empty{color: var(--vaadin-text-secondary);font-style: italic}.master-plex-link-hint{color: var(--vaadin-text-secondary);flex: 0 0 auto;font-size: 0.85em}.master-plex-dialog{--vaadin-dialog-content-padding: var(--vaadin-padding-m);min-width: min(420px,92vw)}.master-plex-dialog-title{font-size: 1.1rem;font-weight: 600;margin: 0 0 var(--vaadin-gap-xs)}.master-plex-dialog-subtitle{color: var(--vaadin-text-secondary);margin: 0 0 var(--vaadin-gap-m)}.master-pic-card{display: flex;align-items: center;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-s) var(--vaadin-padding-m);border-radius: var(--vaadin-radius-m);background: var(--vaadin-surface-2);margin: 0 0 var(--vaadin-gap-m)}.master-pic-card-avatar{flex: 0 0 auto}.master-pic-card-text{display: flex;flex-direction: column;gap: 2px;min-width: 0}.master-pic-card-name{font-weight: 600;font-size: 1rem;color: var(--vaadin-text)}.master-pic-card-sub{font-size: 0.85rem;color: var(--vaadin-text-secondary);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.master-pic-card-meta{font-size: 0.78rem;color: var(--vaadin-text-secondary);opacity: 0.85}.master-rich-row{display: flex;align-items: center;gap: var(--vaadin-gap-s);padding: 4px 0;min-width: 0}.master-rich-row-avatar{flex: 0 0 auto}.master-rich-row-text{display: flex;flex-direction: column;gap: 1px;min-width: 0;line-height: 1.2}.master-rich-row-name{font-weight: 600;font-size: 0.92rem;color: var(--vaadin-text)}.master-rich-row-sub{font-size: 0.8rem;color: var(--vaadin-text-secondary);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.master-rich-row-meta{font-size: 0.72rem;color: var(--vaadin-text-secondary);opacity: 0.85}.master-tab-panel:has(.master-metrics-grid),.master-tab-panel:has(.master-metric-card){overflow-y: auto;overscroll-behavior: contain}.master-metrics-h{font-size: 0.95rem;font-weight: 600;color: var(--vaadin-text-secondary);letter-spacing: 0.04em;text-transform: uppercase;margin: var(--vaadin-padding-m) 0 var(--vaadin-padding-s)}.master-metrics-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: var(--vaadin-gap-m);width: 100%}.master-metric-card{display: flex;flex-direction: column;gap: 4px;padding: var(--vaadin-padding-m);border-radius: var(--vaadin-radius-m);background: var(--vaadin-background-container);border: 1px solid var(--vaadin-border-color-secondary)}.master-metric-title{font-size: 0.78rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.05em;color: var(--vaadin-text-secondary)}.master-metric-value{font-size: 1.8rem;font-weight: 700;line-height: 1.15;color: var(--vaadin-text-primary);font-variant-numeric: tabular-nums}.master-metric-subtitle{font-size: 0.78rem;color: var(--vaadin-text-secondary);line-height: 1.35}.master-metrics-owner-grid{flex: none !important;min-height: 320px;max-height: min(60vh,520px);cursor: pointer}.master-metric-owner-cell{display: flex;align-items: center;justify-content: space-between;gap: 8px;width: 100%;min-width: 0}.master-metric-owner-name{flex: 1 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.master-metric-owner-link-hint{color: var(--vaadin-text-secondary);flex: 0 0 auto;font-size: 0.85em}.master-metric-card-link{cursor: pointer;transition: border-color 120ms ease,transform 120ms ease}.master-metric-card-link:hover{border-color: color-mix(in srgb,var(--vaadin-color-primary) 60%,transparent);transform: translateY(-1px)}.master-metric-card-link:focus-visible{outline: 2px solid var(--vaadin-color-primary);outline-offset: 2px}.ghost-wishes-view{display: flex;flex-direction: column;padding: var(--vaadin-padding-m);gap: var(--vaadin-gap-m)}.ghost-wishes-subtitle{color: var(--vaadin-text-secondary);margin: 0;max-width: 70ch}.ghost-wishes-summary{font-size: 0.85rem;color: var(--vaadin-text-secondary);font-variant-numeric: tabular-nums}.admin-empty,.master-empty{padding: var(--vaadin-padding-xl) 0;text-align: center;color: var(--vaadin-text-color-secondary)}.admin-tabs,.master-tabs{overflow-x: auto;scrollbar-width: thin}@media (max-width: 768px){.admin-view,.master-view,.search-view{--view-pad-x: var(--vaadin-padding-m);padding-block: 0 var(--vaadin-padding-l)}.admin-actions,.master-actions{flex-direction: column;align-items: stretch;padding: var(--vaadin-padding-s) 0}.admin-action-button,.master-action-button{width: 100%;justify-content: center}.admin-grid,.master-grid{min-width: 0;overflow-x: auto}}.password-reset-pending{padding: var(--vaadin-padding-m) var(--vaadin-padding-l);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-color-accent) 12%,transparent);color: var(--vaadin-text-color);font-size: var(--vaadin-font-size-s)}.password-reset-pending p{margin: 0}@media (max-width: 600px){.login-view,.password-reset-view{padding: var(--vaadin-padding-l);padding-top: max(var(--vaadin-padding-l),5vh)}.login-card,.password-reset-card{width: 100%;padding: var(--vaadin-padding-l);gap: var(--vaadin-gap-m)}.login-brand-copy h1{font-size: var(--vaadin-font-size-l)}}.schedule-view{--view-pad-x: var(--vaadin-padding-l);display: flex;flex-direction: column;gap: var(--vaadin-gap-m);padding: 0;width: 100%;min-height: 0;box-sizing: border-box}.schedule-view>*{flex: none}.schedule-subtitle{margin: 0;padding: 0 var(--view-pad-x);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s);width: 100%;box-sizing: border-box;align-self: stretch}.schedule-toolbar{display: flex;flex-wrap: wrap;gap: var(--vaadin-gap-s);padding: 0 var(--view-pad-x);width: 100%;box-sizing: border-box;align-self: stretch}.schedule-toolbar-button{border-radius: 999px !important}.schedule-agenda{display: flex;flex-direction: column;gap: var(--vaadin-gap-l);box-sizing: border-box;flex: 1 1 0;min-height: 0;overflow-y: auto;overscroll-behavior: contain;width: calc(100% - var(--view-pad-x) * 2);align-self: stretch;margin: 0 var(--view-pad-x) var(--vaadin-padding-l);border: 1px solid var(--vaadin-border-color-secondary);border-radius: var(--vaadin-radius-l,14px)}.schedule-section{display: flex;flex-direction: column;gap: var(--vaadin-gap-xs)}.schedule-section-header{display: flex;align-items: center;gap: 10px;padding: var(--vaadin-padding-s) var(--vaadin-padding-m);position: sticky;top: 0;z-index: 1;background: color-mix(in srgb,var(--vaadin-background-color,#0f1216) 86%,transparent);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px)}.schedule-section-label{font-weight: 700;font-size: var(--vaadin-font-size-m);letter-spacing: 0.01em}.schedule-section-count{min-width: 22px;text-align: center;padding: 1px 8px;border-radius: 999px;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 20%,transparent);color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs);font-weight: 700}.schedule-section-due .schedule-section-label{color: color-mix(in srgb,#fb7185 85%,var(--vaadin-text-color))}.schedule-section-due .schedule-section-count{background: color-mix(in srgb,#fb7185 22%,transparent);color: color-mix(in srgb,#fb7185 85%,var(--vaadin-text-color))}.schedule-section-list{display: flex;flex-direction: column;gap: 6px;padding: 0 var(--vaadin-padding-m) var(--vaadin-padding-s)}.schedule-entry{display: flex;align-items: center;gap: 10px;padding: 8px 12px;border: 1px solid var(--vaadin-border-color-secondary);border-radius: var(--vaadin-radius-l,14px);background: color-mix(in srgb,var(--vaadin-background-container) 55%,transparent);transition: background 120ms ease,border-color 120ms ease;min-width: 0}.schedule-entry:hover{background: color-mix(in srgb,var(--vaadin-color-accent) 8%,var(--vaadin-background-container));border-color: color-mix(in srgb,var(--vaadin-color-accent) 35%,var(--vaadin-border-color-secondary))}.schedule-entry-check{flex-shrink: 0}.schedule-entry-content{display: flex;align-items: center;gap: 12px;flex: 1;min-width: 0;cursor: pointer}.schedule-bulkbar{display: flex;align-items: center;gap: var(--vaadin-gap-s);margin: 0 var(--view-pad-x);padding: 8px 14px;border-radius: 999px;background: color-mix(in srgb,var(--vaadin-color-accent) 14%,var(--vaadin-background-container));border: 1px solid color-mix(in srgb,var(--vaadin-color-accent) 35%,transparent);position: sticky;top: 6px;z-index: 3}.schedule-bulkbar-count{font-weight: 600;font-size: var(--vaadin-font-size-s);margin-inline-end: auto}.schedule-entry-poster{width: 40px;height: 60px;border-radius: var(--vaadin-radius-s);overflow: hidden;flex-shrink: 0;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container))}.schedule-entry-poster-img{width: 100%;height: 100%;object-fit: cover;display: block}.schedule-entry-poster-placeholder{width: 100%;height: 100%;display: grid;place-items: center;color: var(--vaadin-text-color-secondary);font-weight: 700;font-size: var(--vaadin-font-size-s)}.schedule-entry-text{display: flex;flex-direction: column;gap: 2px;min-width: 0;flex: 1}.schedule-entry-title{color: var(--vaadin-text-color);font-weight: 600;font-size: var(--vaadin-font-size-s);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.schedule-entry-episode{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.schedule-entry-meta{display: flex;flex-direction: column;align-items: flex-end;gap: 4px;flex-shrink: 0;text-align: right}.schedule-entry-date{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs);white-space: nowrap}.schedule-chip{display: inline-flex;align-items: center;gap: 5px;padding: 2px 9px;border-radius: 999px;font-size: var(--vaadin-font-size-xs);font-weight: 600;white-space: nowrap}.schedule-chip-due{background: color-mix(in srgb,#fb7185 16%,transparent);color: color-mix(in srgb,#fb7185 85%,var(--vaadin-text-color));border: 1px solid color-mix(in srgb,#fb7185 40%,transparent)}.schedule-chip-upcoming{background: color-mix(in srgb,var(--vaadin-color-accent) 14%,transparent);color: color-mix(in srgb,var(--vaadin-color-accent) 82%,var(--vaadin-text-color));border: 1px solid color-mix(in srgb,var(--vaadin-color-accent) 35%,transparent)}.schedule-chip-tba{background: color-mix(in srgb,var(--vaadin-text-color-secondary) 14%,transparent);color: var(--vaadin-text-color-secondary);border: 1px solid var(--vaadin-border-color-secondary)}.schedule-chip-event{background: color-mix(in srgb,#c084fc 16%,transparent);color: color-mix(in srgb,#c084fc 85%,var(--vaadin-text-color));border: 1px solid color-mix(in srgb,#c084fc 40%,transparent)}.schedule-entry-check-spacer{width: 1.6em;flex-shrink: 0}.schedule-event-form{display: flex;flex-direction: column;gap: var(--vaadin-gap-s);width: 100%;box-sizing: border-box}.schedule-event-row{display: flex;gap: var(--vaadin-gap-s);flex-wrap: wrap}.schedule-event-row>*{flex: 1;min-width: 7rem}.schedule-event-link-row{display: flex;align-items: center;gap: var(--vaadin-gap-s);flex-wrap: wrap}.schedule-event-link-status{font-size: var(--vaadin-font-size-s);color: var(--vaadin-text-color-secondary)}.schedule-event-link-results{display: flex;flex-wrap: wrap;gap: 4px}.schedule-empty{padding: var(--vaadin-padding-xl) var(--view-pad-x);text-align: center;color: var(--vaadin-text-color-secondary)}.schedule-empty-hint{font-size: var(--vaadin-font-size-s)}.schedule-add-body{display: flex;flex-direction: column;gap: var(--vaadin-gap-m);width: 100%;box-sizing: border-box}.schedule-add-search{display: flex;align-items: flex-end;gap: var(--vaadin-gap-s)}.schedule-add-results{display: flex;flex-direction: column;gap: 6px;max-height: 50vh;overflow-y: auto}.schedule-add-hint{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-s);margin: 0}.schedule-add-result{display: flex;align-items: center;gap: 10px;padding: 6px;border-radius: var(--vaadin-radius-m)}.schedule-add-result:hover{background: color-mix(in srgb,var(--vaadin-text-color-secondary) 8%,transparent)}.schedule-add-result-poster{width: 34px;height: 51px;border-radius: var(--vaadin-radius-s);object-fit: cover;flex-shrink: 0;background: color-mix(in srgb,var(--vaadin-text-color-secondary) 18%,var(--vaadin-background-container))}.schedule-add-result-text{display: flex;flex-direction: column;min-width: 0;flex: 1}.schedule-add-result-title{font-weight: 600;font-size: var(--vaadin-font-size-s);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.schedule-add-result-year{color: var(--vaadin-text-color-secondary);font-size: var(--vaadin-font-size-xs)}.schedule-tabs{width: calc(100% - var(--view-pad-x) * 2);margin: 0 var(--view-pad-x);box-sizing: border-box;border-bottom: 1px solid var(--vaadin-border-color-secondary);flex: none}.schedule-tab-label{font-weight: 600}.schedule-calendar{display: flex;flex-direction: column;box-sizing: border-box;flex: 1 1 0;min-height: 0;width: calc(100% - var(--view-pad-x) * 2);align-self: stretch;margin: 0 var(--view-pad-x) var(--vaadin-padding-l);border: 1px solid var(--vaadin-border-color-secondary);border-radius: var(--vaadin-radius-l,14px);overflow: hidden}.schedule-cal-header{display: flex;align-items: center;gap: var(--vaadin-gap-s);flex: none;padding: var(--vaadin-padding-m) var(--vaadin-padding-m) var(--vaadin-gap-s)}.schedule-cal-month{font-weight: 700;font-size: var(--vaadin-font-size-m);min-width: 9.5em;text-align: center}.schedule-cal-today-btn{border-radius: 999px !important;margin-inline-start: auto}.schedule-cal-grid{display: grid;grid-template-columns: repeat(7,minmax(0,1fr));gap: 6px;width: 100%;box-sizing: border-box;flex: 1 1 0;min-height: 0;overflow-y: auto;overscroll-behavior: contain;padding: 0 var(--vaadin-padding-m) var(--vaadin-padding-m)}.schedule-cal-dow{text-align: center;font-size: var(--vaadin-font-size-xs);font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;color: var(--vaadin-text-color-secondary);padding-bottom: 2px}.schedule-cal-cell{display: flex;flex-direction: column;gap: 3px;min-height: 92px;padding: 5px;border: 1px solid var(--vaadin-border-color-secondary);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-background-container) 40%,transparent);overflow: hidden}.schedule-cal-cell.is-blank{background: transparent;border-color: transparent}.schedule-cal-cell.is-today{border-color: color-mix(in srgb,var(--vaadin-color-accent) 55%,transparent);background: color-mix(in srgb,var(--vaadin-color-accent) 9%,var(--vaadin-background-container))}.schedule-cal-daynum{font-size: var(--vaadin-font-size-xs);font-weight: 600;color: var(--vaadin-text-color-secondary);align-self: flex-end}.schedule-cal-cell.is-today .schedule-cal-daynum{color: color-mix(in srgb,var(--vaadin-color-accent) 85%,var(--vaadin-text-color))}.schedule-cal-chip{font-size: var(--vaadin-font-size-xs);padding: 2px 6px;border-radius: var(--vaadin-radius-s);cursor: pointer;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;line-height: 1.3}.schedule-cal-chip-due{background: color-mix(in srgb,#fb7185 20%,transparent);color: color-mix(in srgb,#fb7185 88%,var(--vaadin-text-color))}.schedule-cal-chip-upcoming{background: color-mix(in srgb,var(--vaadin-text-color) 12%,transparent);color: var(--vaadin-text-color)}.schedule-cal-chip-event{background: color-mix(in srgb,#c084fc 20%,transparent);color: color-mix(in srgb,#c084fc 88%,var(--vaadin-text-color))}.schedule-cal-chip:hover{filter: brightness(1.15)}.schedule-cal-more{font-size: var(--vaadin-font-size-xs);color: var(--vaadin-text-color-secondary)}.schedule-cal-cell.is-clickable{cursor: pointer}.schedule-cal-cell.is-clickable:hover{border-color: color-mix(in srgb,var(--vaadin-color-accent) 45%,transparent);background: color-mix(in srgb,var(--vaadin-color-accent) 8%,var(--vaadin-background-container))}.schedule-day-list{display: flex;flex-direction: column;gap: 8px;width: 100%;box-sizing: border-box}.schedule-day-entry{display: flex;align-items: center;gap: 10px;padding: 6px 8px;border-radius: var(--vaadin-radius-m);border: 1px solid var(--vaadin-border-color-secondary);background: color-mix(in srgb,var(--vaadin-background-container) 45%,transparent);min-width: 0;box-sizing: border-box}.schedule-day-entry-text{display: flex;flex-direction: column;align-items: flex-start;gap: 3px;min-width: 0;flex: 1}.schedule-day-entry-text>*{max-width: 100%}.schedule-day-entry-actions{display: flex;gap: 2px;flex-shrink: 0}@media (max-width: 768px){.schedule-view{--view-pad-x: var(--vaadin-padding-s);overflow-x: hidden}.schedule-toolbar{gap: 4px}.schedule-cal-cell{min-height: 64px;padding: 3px}.schedule-cal-chip{padding: 0;height: 6px;border-radius: 999px}.schedule-cal-chip>*{display: none}.schedule-section-header{padding: var(--vaadin-padding-s) var(--vaadin-padding-s)}.schedule-section-list{padding: 0 var(--vaadin-padding-s) var(--vaadin-padding-s)}}