@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@600;700;800&display=swap";html{--app-primary: #8655f6;--app-primary-strong: #7346ee;--app-secondary: #ec4b92;--app-accent: #a855f7;--app-gradient-hero-strong: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .015)), linear-gradient(120deg, #825cf0 0%, #8d5def 30%, #a15ee9 56%, #b95ddb 78%, #d45ab9 100%);--app-text: #292524;--app-text-muted: #78716c;--app-bg: #f9f5ee;--app-bg-strong: #fff2da;--app-surface: #ffffff;--app-surface-muted: #fffdfb;--app-surface-card-background: radial-gradient(circle at top right, rgba(244, 114, 182, .08), transparent 22%), radial-gradient(circle at top left, rgba(109, 76, 255, .08), transparent 30%), linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 248, 243, .95));--app-surface-lilac-soft: rgba(134, 85, 246, .12);--app-surface-lilac-soft-border: rgba(134, 85, 246, .18);--app-surface-lilac-text: #7c3aed;--app-surface-pink-soft: rgba(236, 75, 146, .12);--app-surface-pink-soft-border: rgba(244, 114, 182, .18);--app-surface-pink-text: #be185d;--app-surface-blue-soft: rgba(59, 130, 246, .12);--app-surface-blue-text: #2563eb;--app-surface-neutral-soft: rgba(120, 113, 108, .12);--app-surface-neutral-text: #57534e;--app-panel-overlay: rgba(255, 255, 255, .96);--app-panel-overlay-muted: rgba(255, 255, 255, .72);--app-border: #e5d9f3;--app-border-strong: rgba(134, 85, 246, .32);--app-shadow-soft: 0 12px 28px rgba(76, 57, 111, .1);--app-shadow-lifted: 0 22px 42px rgba(76, 57, 111, .14);--app-shadow-card-soft: var(--app-shadow-soft);--app-shadow-card-lifted: var(--app-shadow-lifted);--app-status-success-soft: rgba(34, 197, 94, .12);--app-status-success-text: #15803d;--app-status-info-soft: rgba(59, 130, 246, .12);--app-status-info-text: #2563eb;--app-status-warning-soft: rgba(249, 115, 22, .14);--app-status-warning-text: #c2410c;--app-status-attention-soft: rgba(244, 114, 182, .12);--app-status-attention-text: #be185d;--app-status-danger-soft: rgba(239, 68, 68, .14);--app-status-danger-text: #b91c1c;--app-status-neutral-soft: rgba(148, 163, 184, .16);--app-status-neutral-text: #475569;--app-scrollbar-inset: .3rem;--app-grid-scrollbar-inset: var(--app-scrollbar-inset);--app-table-header-background: rgba(255, 246, 251, .86);--app-table-frame-border: rgba(229, 217, 243, .84);--app-table-frame-border-muted: rgba(229, 217, 243, .82);--app-table-row-divider: rgba(229, 217, 243, .45);--app-table-odd-row-background: rgba(134, 85, 246, .03);--app-table-hover-background: rgba(134, 85, 246, .06);--app-table-cell-padding: .95rem 1rem;--app-table-compact-cell-padding: .58rem .75rem;--app-table-mobile-cell-padding: .68rem 1rem;--app-table-compact-mobile-cell-padding: .4rem .75rem;--app-table-edge-padding: 1.2rem;--app-table-frame-radius: 1rem;--app-table-mobile-control-size: 1.65rem;--app-table-mobile-inline-control-size: 1.45rem;--app-radius-xl: 24px;--app-radius-l: 18px;--app-radius-m: 14px;--app-radius-pill: 999px;--app-gradient-hero: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .02)), linear-gradient(120deg, #8b65f3 0%, #9564f1 30%, #a763ec 56%, #bf61de 78%, #d85fbe 100%);--app-gradient-wash: linear-gradient(180deg, #fffdf8 0%, #f9f5ee 100%);--lumo-font-family: "Manrope", "Segoe UI", sans-serif;--lumo-primary-font-family: "Outfit", "Manrope", sans-serif;--lumo-primary-color: var(--app-primary);--lumo-primary-color-50pct: rgba(134, 85, 246, .5);--lumo-primary-color-10pct: rgba(134, 85, 246, .1);--lumo-border-radius-l: 20px;--lumo-border-radius-m: 16px;--lumo-border-radius-s: 12px;--lumo-base-color: var(--app-bg);--lumo-body-text-color: var(--app-text);--lumo-header-text-color: #1f1b17;--lumo-secondary-text-color: var(--app-text-muted);color:var(--lumo-body-text-color);background:radial-gradient(circle at top left,rgba(168,85,247,.14),transparent 22%),radial-gradient(circle at top right,rgba(236,75,146,.12),transparent 18%),radial-gradient(circle at bottom center,rgba(255,231,201,.46),transparent 28%),var(--app-gradient-wash)}html[theme~=dark],html:has(body[theme~=dark]),body[theme~=dark],vaadin-app-layout[theme~=dark]{--app-text: #fafaf9;--app-text-muted: #d6d3d1;--app-bg: #1f1a17;--app-bg-strong: #2b241f;--app-surface: #292524;--app-surface-muted: #37312e;--app-surface-card-background: radial-gradient(circle at top right, rgba(244, 114, 182, .16), transparent 22%), radial-gradient(circle at top left, rgba(139, 92, 246, .18), transparent 28%), linear-gradient(180deg, rgba(41, 37, 36, .96), rgba(31, 26, 23, .94));--app-surface-lilac-soft: rgba(216, 180, 254, .14);--app-surface-lilac-soft-border: rgba(216, 180, 254, .24);--app-surface-lilac-text: #f3e8ff;--app-surface-pink-soft: rgba(244, 114, 182, .18);--app-surface-pink-soft-border: rgba(244, 114, 182, .24);--app-surface-pink-text: #fbcfe8;--app-surface-blue-soft: rgba(96, 165, 250, .18);--app-surface-blue-text: #dbeafe;--app-surface-neutral-soft: rgba(87, 83, 78, .82);--app-surface-neutral-text: #e7e5e4;--app-panel-overlay: rgba(41, 37, 36, .96);--app-panel-overlay-muted: rgba(55, 49, 46, .82);--app-border: #5a5049;--app-border-strong: rgba(216, 180, 254, .34);--app-shadow-soft: 0 16px 34px rgba(0, 0, 0, .24);--app-shadow-lifted: 0 24px 48px rgba(0, 0, 0, .3);--app-shadow-card-soft: var(--app-shadow-soft);--app-shadow-card-lifted: var(--app-shadow-lifted);--app-status-success-soft: rgba(74, 222, 128, .18);--app-status-success-text: #dcfce7;--app-status-info-soft: rgba(96, 165, 250, .18);--app-status-info-text: #dbeafe;--app-status-warning-soft: rgba(251, 191, 36, .18);--app-status-warning-text: #fef3c7;--app-status-attention-soft: rgba(244, 114, 182, .18);--app-status-attention-text: #fbcfe8;--app-status-danger-soft: rgba(248, 113, 113, .18);--app-status-danger-text: #fee2e2;--app-status-neutral-soft: rgba(87, 83, 78, .82);--app-status-neutral-text: #e7e5e4;--app-table-header-background: rgba(55, 49, 46, .92);--app-table-frame-border: rgba(90, 80, 73, .84);--app-table-frame-border-muted: rgba(90, 80, 73, .82);--app-table-row-divider: rgba(90, 80, 73, .6);--app-table-odd-row-background: rgba(216, 180, 254, .04);--app-table-hover-background: rgba(216, 180, 254, .08);--lumo-base-color: var(--app-bg);--lumo-body-text-color: var(--app-text);--lumo-header-text-color: #fafaf9;--lumo-secondary-text-color: var(--app-text-muted);background:radial-gradient(circle at top left,rgba(192,132,252,.14),transparent 22%),radial-gradient(circle at top right,rgba(244,114,182,.1),transparent 18%),linear-gradient(180deg,#2b241f,#1f1a17)}*,*:before,*:after{box-sizing:border-box}body{background:transparent}h1,h2,h3{font-family:var(--lumo-primary-font-family);letter-spacing:-.03em}vaadin-app-layout::part(drawer){width:292px;min-width:0;border-right:1px solid var(--app-border);background:radial-gradient(circle at top left,rgba(168,85,247,.1),transparent 28%),linear-gradient(180deg,#fffffff5,#fffbf4f0)}vaadin-app-layout[theme~=dark]::part(drawer){border-right-color:var(--app-border);background:radial-gradient(circle at top left,rgba(192,132,252,.12),transparent 28%),linear-gradient(180deg,#37312ef5,#1f1a17f5)}vaadin-app-layout::part(navbar){background:#ffffffd1;border-bottom:1px solid rgba(231,222,209,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}vaadin-app-layout[theme~=dark]::part(navbar){background:#1c1917e0;border-bottom-color:#44403cf0}vaadin-app-layout::part(content){background:transparent}.app-header{gap:.85rem;min-height:74px;padding:.75rem 1.25rem}.app-title-wrap{gap:.7rem}.app-view-title{margin:0;font-size:clamp(1.35rem,1.7vw,1.75rem);line-height:1.1;letter-spacing:-.03em}.app-header-controls{gap:.55rem;margin-inline-start:auto}.app-drawer-toggle{color:var(--app-primary)}.header-notification-button{width:40px;height:40px;min-width:40px;gap:.3rem;font-size:.82rem;--vaadin-button-background: var(--app-panel-overlay);--vaadin-button-border: 1px solid var(--app-border);--vaadin-button-border-radius: 999px;--vaadin-button-padding: 0;--vaadin-button-min-width: 40px;--vaadin-button-height: 40px;box-shadow:0 8px 18px #78716c14}.header-notification-button::part(prefix){margin-inline-end:0}.header-notification-button::part(label){font-weight:800;line-height:1}vaadin-app-layout[theme~=dark] .header-notification-button{--vaadin-button-border: 1px solid var(--app-border);--vaadin-button-background: var(--app-panel-overlay)}.app-drawer{min-height:100%;padding:.92rem .92rem .82rem;gap:.72rem}.drawer-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.1rem;font-weight:800;font-size:1.34rem;letter-spacing:-.03em}.drawer-brand span:first-child{display:inline-flex;align-items:center;justify-content:center;width:2.18rem;height:2.18rem;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff}.app-nav{width:100%}.drawer-nav-sections{width:100%;gap:.88rem}.drawer-nav-section{display:flex;flex-direction:column;width:100%;gap:.28rem}.drawer-nav-section-title{padding:0 .8rem;color:var(--lumo-secondary-text-color);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.app-nav vaadin-side-nav-item{margin-bottom:.12rem}.app-nav vaadin-side-nav-item::part(content){padding:.62rem .8rem;border-radius:13px;color:var(--lumo-body-text-color);font-weight:600;line-height:1.2;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.app-nav vaadin-side-nav-item:not([disabled])::part(content){cursor:pointer}.app-nav vaadin-side-nav-item:not([current]):not([disabled]):hover::part(content),.app-nav vaadin-side-nav-item:not([current]):not([disabled])[focus-ring]::part(content){background:#8b5cf614;color:#6d28d9;box-shadow:inset 0 0 0 1px #8b5cf629;transform:translate(2px)}.app-nav vaadin-side-nav-item[current]::part(content){background:#8b5cf61f;color:var(--app-surface-lilac-text);box-shadow:inset 0 0 0 1px #8b5cf61f}vaadin-app-layout[theme~=dark] .app-nav vaadin-side-nav-item:not([current]):not([disabled]):hover::part(content),vaadin-app-layout[theme~=dark] .app-nav vaadin-side-nav-item:not([current]):not([disabled])[focus-ring]::part(content){background:#c084fc24;color:#e9d5ff;box-shadow:inset 0 0 0 1px #d8b4fe2e}vaadin-app-layout[theme~=dark] .app-nav vaadin-side-nav-item[current]::part(content){color:var(--app-surface-lilac-text);box-shadow:inset 0 0 0 1px #d8b4fe29}.access-denied-card,.invitation-card{max-width:42rem}.invitation-shell{justify-content:center;min-height:calc(100vh - 10rem)}.drawer-footer{padding-top:1.5rem;border-top:1px solid var(--app-border);color:var(--lumo-secondary-text-color);font-size:.92rem}vaadin-app-layout[theme~=dark] .drawer-footer{border-top-color:var(--app-border)}.drawer-footer span{color:var(--lumo-body-text-color);font-weight:700}.drawer-footer p{margin:.35rem 0 0}.public-app-header{max-width:1440px;margin:0 auto}.public-title-wrap{min-width:0}.public-shell-brand{margin-bottom:0;flex:0 0 auto}.public-layout-shell .app-view-title{min-width:0;font-size:clamp(1.1rem,1.5vw,1.45rem)}.view-shell{width:100%;max-width:1440px;margin:0 auto;padding:1rem 2.5rem 3rem;gap:1.2rem}.view-shell>h1:first-child,.view-shell>h2:first-child,.view-shell>h1:first-child+p,.view-shell>h2:first-child+p{display:none}.view-shell>h2{margin:0;font-size:clamp(1.9rem,2.8vw,2.4rem)}.view-shell>p{margin:0;max-width:68rem;color:var(--lumo-secondary-text-color);font-size:1.02rem;line-height:1.6}.public-registration-shell{align-items:center}.public-page-card{width:min(100%,48rem);gap:1rem}.public-page-card>p:first-child{margin:0;color:var(--lumo-secondary-text-color)}.public-registration-card vaadin-button.login-google{align-self:flex-start}.public-registration-form{width:100%}.content-split{align-items:stretch;gap:1.25rem}.content-split>*{min-width:0}.content-split>*:first-child{flex:0 0 360px}.page-section-header{display:flex;flex-direction:column;gap:.35rem}.page-section-header h2,.page-section-header p{margin:0}.page-section-header h2{font-size:clamp(1.95rem,2.8vw,2.4rem)}.page-section-header p{color:var(--lumo-secondary-text-color)}vaadin-text-field,vaadin-email-field,vaadin-password-field,vaadin-integer-field,vaadin-text-area,vaadin-date-picker,vaadin-time-picker,vaadin-combo-box,vaadin-multi-select-combo-box,vaadin-select{--vaadin-input-field-background: var(--app-surface);--vaadin-input-field-border-width: 1px;--vaadin-input-field-border-color: var(--app-border);--vaadin-input-field-border-radius: var(--app-radius-l);--vaadin-input-field-label-color: var(--lumo-header-text-color);--vaadin-input-field-label-font-weight: 600;--vaadin-input-field-helper-color: var(--lumo-secondary-text-color);--vaadin-input-field-error-color: #dc2626;--vaadin-input-field-error-font-weight: 600;--vaadin-input-field-icon-color: var(--app-primary);--vaadin-input-field-hover-highlight-opacity: 0;--vaadin-input-field-focused-highlight-color: rgba(134, 85, 246, .24);--vaadin-input-field-label-space: 0;padding-top:0}vaadin-text-field::part(label),vaadin-email-field::part(label),vaadin-password-field::part(label),vaadin-integer-field::part(label),vaadin-text-area::part(label),vaadin-date-picker::part(label),vaadin-time-picker::part(label),vaadin-combo-box::part(label),vaadin-multi-select-combo-box::part(label),vaadin-select::part(label){display:none}vaadin-text-field:before,vaadin-email-field:before,vaadin-password-field:before,vaadin-integer-field:before,vaadin-text-area:before,vaadin-date-picker:before,vaadin-time-picker:before,vaadin-combo-box:before,vaadin-multi-select-combo-box:before,vaadin-select:before{display:none}vaadin-app-layout[theme~=dark] vaadin-text-field,vaadin-app-layout[theme~=dark] vaadin-email-field,vaadin-app-layout[theme~=dark] vaadin-password-field,vaadin-app-layout[theme~=dark] vaadin-integer-field,vaadin-app-layout[theme~=dark] vaadin-text-area,vaadin-app-layout[theme~=dark] vaadin-date-picker,vaadin-app-layout[theme~=dark] vaadin-time-picker,vaadin-app-layout[theme~=dark] vaadin-combo-box,vaadin-app-layout[theme~=dark] vaadin-multi-select-combo-box,vaadin-app-layout[theme~=dark] vaadin-select{--vaadin-input-field-background: var(--app-surface);--vaadin-input-field-border-color: var(--app-border)}vaadin-multi-select-combo-box{--app-multi-select-chip-background: var(--app-surface-lilac-soft);--app-multi-select-chip-border-color: var(--app-surface-lilac-soft-border);--app-multi-select-chip-text: var(--app-surface-lilac-text);--app-multi-select-chip-radius: var(--app-radius-pill)}vaadin-form-layout{--vaadin-form-layout-column-spacing: 1rem;--vaadin-form-layout-row-spacing: 1rem}vaadin-form-item::part(label){color:var(--lumo-header-text-color);font-weight:600}vaadin-checkbox{--vaadin-checkbox-checkmark-color: #ffffff;--vaadin-checkbox-label-color: var(--lumo-body-text-color);--vaadin-checkbox-label-font-size: .96rem}vaadin-checkbox::part(checkbox){background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;box-shadow:inset 0 1px #ffffff59}vaadin-checkbox:hover::part(checkbox){border-color:var(--app-border-strong)}vaadin-checkbox[checked]::part(checkbox),vaadin-checkbox[indeterminate]::part(checkbox){background:var(--app-primary);border-color:var(--app-primary)}vaadin-checkbox[focus-ring]::part(checkbox){box-shadow:0 0 0 3px #8655f629,inset 0 1px #ffffff40}vaadin-grid{--vaadin-grid-cell-background: var(--app-surface);--vaadin-grid-border-color: var(--app-table-frame-border);--vaadin-grid-cell-padding: var(--app-table-cell-padding);background:var(--app-table-header-background);border:1px solid var(--app-table-frame-border);box-shadow:none;border-radius:var(--app-table-frame-radius);overflow:hidden}vaadin-grid::part(header-cell){background:var(--app-table-header-background);color:var(--lumo-header-text-color);font-size:.76rem;font-weight:800;letter-spacing:.08em;line-height:1.15;text-transform:uppercase;border-bottom:1px solid var(--app-table-frame-border);padding-top:.48rem;padding-bottom:.46rem}vaadin-grid::part(body-cell){border-top:1px solid var(--app-table-row-divider);border-bottom:none}vaadin-grid::part(first-row-cell){border-top:none}vaadin-grid::part(first-column-cell){padding-inline-start:var(--app-table-edge-padding)}vaadin-grid::part(last-column-cell){padding-inline-end:var(--app-table-edge-padding)}vaadin-grid::part(odd-row){--vaadin-grid-cell-background: var(--app-table-odd-row-background)}vaadin-grid::part(row):hover{--vaadin-grid-cell-background: var(--app-table-hover-background)}vaadin-app-layout[theme~=dark] vaadin-grid::part(header-cell){background:var(--app-table-header-background)}vaadin-app-layout[theme~=dark] vaadin-grid::part(body-cell){border-top-color:var(--app-table-row-divider)}vaadin-app-layout[theme~=dark] vaadin-grid::part(odd-row){--vaadin-grid-cell-background: var(--app-table-odd-row-background)}vaadin-multi-select-combo-box::part(chips){gap:.35rem}vaadin-multi-select-combo-box-chip{background:var(--app-multi-select-chip-background);border:1px solid var(--app-multi-select-chip-border-color);border-radius:var(--app-multi-select-chip-radius);color:var(--app-multi-select-chip-text)}vaadin-multi-select-combo-box-chip::part(label){color:inherit;font-weight:600}vaadin-multi-select-combo-box-chip::part(remove-button){color:inherit}vaadin-combo-box-overlay::part(overlay),vaadin-multi-select-combo-box-overlay::part(overlay),vaadin-select-overlay::part(overlay){border:1px solid var(--app-border);border-radius:var(--app-radius-l);background:var(--app-surface);padding:.2rem;box-shadow:var(--app-shadow-lifted)}vaadin-combo-box-overlay::part(content),vaadin-multi-select-combo-box-overlay::part(content),vaadin-select-overlay::part(content){scrollbar-gutter:stable}vaadin-combo-box-item::part(content),vaadin-multi-select-combo-box-item::part(content),vaadin-select-item::part(content){color:var(--lumo-body-text-color)}vaadin-combo-box-item[selected],vaadin-multi-select-combo-box-item[selected],vaadin-select-item[selected]{background:#8655f614}vaadin-combo-box-item::part(checkmark),vaadin-multi-select-combo-box-item::part(checkmark),vaadin-select-item::part(checkmark){color:var(--app-primary)}vaadin-notification-card::part(overlay){border:1px solid var(--app-border);border-radius:var(--app-radius-l);background:var(--app-surface);box-shadow:var(--app-shadow-lifted)}vaadin-notification-card::part(content){color:var(--lumo-body-text-color)}vaadin-form-layout.surface-card{padding:1.5rem}.heading-reset,.week-label{margin:0}.text-semibold{font-weight:600}.surface-card:not(vaadin-grid):not(vaadin-tree-grid){background:var(--app-surface-card-background);border:1px solid var(--app-border);border-radius:var(--app-radius-xl);box-shadow:var(--app-shadow-card-soft)}.surface-card--grid-panel{padding:1rem}.surface-card--grid-panel>vaadin-grid,.surface-card--grid-panel>vaadin-tree-grid{border-radius:var(--app-radius-l)}vaadin-button{--vaadin-button-background: var(--app-surface);--vaadin-button-text-color: var(--lumo-body-text-color);--vaadin-button-border: 1px solid var(--app-border);--vaadin-button-border-radius: var(--app-radius-pill);--vaadin-button-font-weight: 700;color:var(--lumo-body-text-color);box-shadow:0 8px 18px #78716c0f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}vaadin-button:hover{--vaadin-button-border: 1px solid var(--app-border-strong);box-shadow:0 12px 24px #4c396f1a}body[theme~=dark] vaadin-button,html[theme~=dark] vaadin-button,vaadin-app-layout[theme~=dark] vaadin-button{--vaadin-button-background: var(--app-surface);--vaadin-button-border: 1px solid var(--app-border);box-shadow:0 12px 24px #0000002e}vaadin-button.primary-action,vaadin-button.secondary-action,vaadin-button.additional-action,vaadin-button.danger-action,vaadin-button.dashboard-link-button{--vaadin-button-border-radius: var(--app-radius-pill);--vaadin-button-font-weight: 700;--vaadin-button-height: 2.5rem;--vaadin-button-min-width: 0;--vaadin-button-padding: 0 .95rem;font-weight:700;transition:transform .16s ease,box-shadow .16s ease}button.additional-action{border-radius:var(--app-radius-pill);min-height:2.5rem;min-width:0;padding:0 .95rem;font:inherit;font-weight:700;line-height:1;-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;background:linear-gradient(135deg,rgba(247,243,255,.96),var(--app-surface-lilac-soft));border:1px solid var(--app-surface-lilac-soft-border);color:var(--app-surface-lilac-text);box-shadow:0 10px 18px #4c396f14}vaadin-button.primary-action,vaadin-button.dashboard-link-button{--vaadin-button-background: var(--app-gradient-hero);--vaadin-button-text-color: #fff;--vaadin-button-border: 0;color:#fff;box-shadow:0 12px 24px #925ce324,0 2px 8px #d85fbe0d}vaadin-button.primary-action::part(label),vaadin-button.primary-action::part(prefix),vaadin-button.secondary-action::part(label),vaadin-button.secondary-action::part(prefix),vaadin-button.additional-action::part(label),vaadin-button.additional-action::part(prefix),vaadin-button.danger-action::part(label),vaadin-button.danger-action::part(prefix),vaadin-button.dashboard-link-button::part(label),vaadin-button.dashboard-link-button::part(prefix){display:flex;align-items:center;justify-content:center;gap:.42rem;margin:0;color:inherit}vaadin-button.primary-action::part(prefix),vaadin-button.secondary-action::part(prefix),vaadin-button.additional-action::part(prefix),vaadin-button.danger-action::part(prefix),vaadin-button.dashboard-link-button::part(prefix){margin-inline-end:.1rem}vaadin-button.secondary-action{--vaadin-button-background: linear-gradient(135deg, var(--app-surface-pink-soft), rgba(255, 230, 239, .92));--vaadin-button-border: 1px solid var(--app-surface-pink-soft-border);--vaadin-button-text-color: var(--app-surface-pink-text);color:var(--app-surface-pink-text);box-shadow:0 10px 18px #78716c14}vaadin-button.additional-action{--vaadin-button-background: linear-gradient(135deg, rgba(247, 243, 255, .96), var(--app-surface-lilac-soft));--vaadin-button-border: 1px solid var(--app-surface-lilac-soft-border);--vaadin-button-text-color: var(--app-surface-lilac-text);color:var(--app-surface-lilac-text);box-shadow:0 10px 18px #4c396f14}vaadin-button.tournament-inline-add,button.tournament-inline-add{--vaadin-button-height: 2.5rem;--vaadin-button-min-width: 2.5rem;--vaadin-button-padding: 0;width:2.5rem;min-width:2.5rem;padding:0;font-size:1.25rem;line-height:1}button.tournament-inline-add{min-height:2.5rem}vaadin-button.secondary-action:hover{--vaadin-button-background: linear-gradient(135deg, rgba(255, 230, 239, .98), rgba(255, 214, 231, .94));--vaadin-button-border: 1px solid rgba(244, 114, 182, .24);transform:translateY(-1px);box-shadow:0 12px 22px #78716c1a}vaadin-button.additional-action:hover{--vaadin-button-background: linear-gradient(135deg, rgba(239, 233, 254, .98), rgba(233, 225, 254, .96));--vaadin-button-border: 1px solid rgba(139, 92, 246, .24);transform:translateY(-1px);box-shadow:0 12px 22px #4c396f1a}button.additional-action:hover{background:linear-gradient(135deg,#efe9fefa,#e9e1fef5);border:1px solid rgba(139,92,246,.24);transform:translateY(-1px);box-shadow:0 12px 22px #4c396f1a}button.additional-action:focus-visible{outline:0;box-shadow:0 0 0 .18rem #8b5cf62e,0 12px 22px #4c396f1a}vaadin-button.primary-action::part(label),vaadin-button.primary-action::part(prefix),vaadin-button.dashboard-link-button::part(label),vaadin-button.dashboard-link-button::part(prefix){color:#fff}vaadin-button.login-google::part(prefix){margin-inline-end:.65rem}vaadin-button.dashboard-link-button{--vaadin-button-padding: 0 1rem}vaadin-button.primary-action:hover,vaadin-button.dashboard-link-button:hover{--vaadin-button-border: 0;--vaadin-button-background: var(--app-gradient-hero-strong);transform:translateY(-1px);box-shadow:0 14px 26px #925ce329,0 3px 10px #d45ab90f}vaadin-button.danger-action{--vaadin-button-background: linear-gradient(135deg, var(--app-status-danger-soft), rgba(254, 226, 226, .92));--vaadin-button-border: 1px solid rgba(239, 68, 68, .24);--vaadin-button-text-color: var(--app-status-danger-text);color:var(--app-status-danger-text);box-shadow:0 10px 18px #ef444414}vaadin-button.danger-action:hover{--vaadin-button-background: linear-gradient(135deg, rgba(254, 226, 226, .98), rgba(254, 202, 202, .94));--vaadin-button-border: 1px solid rgba(239, 68, 68, .35);transform:translateY(-1px);box-shadow:0 12px 22px #ef44441f}.empty-state,.empty-state-card{margin:0;color:var(--lumo-secondary-text-color)}.empty-state-card{max-width:42rem;padding:1rem 1.25rem}.login-view{min-height:100vh;padding:24px;align-items:center;justify-content:center}.login-shell{display:flex;flex-direction:column;gap:18px;align-items:center;width:100%;max-width:1100px}.login-hero{width:min(100%,640px);min-height:auto;justify-content:center;align-items:center;padding:28px 32px;border-radius:calc(var(--lumo-border-radius-l) + 10px);background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 24%),linear-gradient(145deg,#8b5cf6,#a855f7 52%,#ec4899);color:#fffafc;box-shadow:0 28px 60px #8b5cf638;text-align:center}.login-brand-chip{width:fit-content;color:#fffafc;font-size:2rem;font-weight:800;line-height:1;letter-spacing:.04em;padding:0;border-radius:0;background:none;box-shadow:none}.login-hero-tagline{margin:0;font-size:.85rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fffafcd1}.login-hero p{margin:0;max-width:34rem;font-size:1rem;line-height:1.45;color:#fffafceb}.login-hero-subtagline{margin-top:.35rem;font-size:.95rem;font-style:italic;font-weight:500;color:#fffafcd9}.login-panel{width:100%;max-width:420px;justify-content:center;padding:32px;box-shadow:0 12px 30px #29252414;transition:transform .2s ease,box-shadow .2s ease}.login-panel:hover{transform:translateY(-4px);box-shadow:0 20px 44px #2925241f}.login-panel h2,.login-panel p{margin:0;text-align:center}.login-actions{gap:.85rem}.login-actions>*{width:100%}.login-google-icon{width:1rem;height:1rem;display:block;padding:.24rem;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #ffffff47}vaadin-button.login-google.primary-action,vaadin-button.login-register.secondary-action{--vaadin-button-height: 3rem;justify-content:center}html[theme~=dark] .login-hero,body[theme~=dark] .login-hero,vaadin-app-layout[theme~=dark] .login-hero{background:radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 24%),linear-gradient(145deg,#5b21b6,#7c3aed 48%,#be185d);box-shadow:0 28px 60px #0000004d}@media(max-width:1100px){.login-panel{max-width:420px}}@media(max-width:700px){.login-view{padding:16px}.login-hero{padding:24px 20px}}.player-workspace>*:first-child{flex:0 0 40%}.player-roster-panel,.player-detail-panel{min-height:48rem}.player-roster-panel{padding:.85rem;gap:.75rem;overflow:hidden}.player-roster-toolbar{gap:.75rem;flex-wrap:wrap}.player-roster-toolbar>:first-child{flex:1 1 auto}.users-roster-toolbar{row-gap:.75rem}.users-roster-search{flex:1 1 18rem;min-width:16rem}.users-roster-filters{display:flex;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:.75rem}.users-roster-filter{flex:1 1 11rem;min-width:11rem;max-width:12rem}.player-roster-grid,.player-relationship-grid,.player-group-grid,.team-roster-grid{box-shadow:none;--vaadin-grid-cell-padding: var(--app-table-compact-cell-padding);font-size:.92rem;width:100%;max-width:100%}.player-roster-grid::part(header-cell),.player-relationship-grid::part(header-cell),.player-group-grid::part(header-cell),.team-roster-grid::part(header-cell){font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.player-detail-panel{padding:1.35rem 1.4rem 1.25rem;gap:.9rem}.player-detail-header{gap:1rem;padding-bottom:.35rem;border-bottom:1px solid rgba(229,217,243,.7)}.player-detail-summary{display:flex;flex-direction:column;gap:.45rem}.player-detail-summary h3{margin:0;font-size:clamp(1.55rem,2vw,1.95rem);line-height:1.08}.player-detail-summary p{margin:0;color:var(--lumo-secondary-text-color)}.player-summary-chips{gap:.45rem;flex-wrap:wrap}.player-chip{min-height:1.75rem;padding-inline:.72rem}.player-chip--active{background:var(--app-status-success-soft);color:var(--app-status-success-text)}.player-chip--muted{background:var(--app-status-neutral-soft);color:var(--app-status-neutral-text)}.player-chip--type,.player-chip--primary{background:var(--app-status-info-soft);color:var(--app-status-info-text)}.player-chip--note{background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text)}.player-chip--neutral{background:var(--app-surface-neutral-soft);color:var(--app-surface-neutral-text)}vaadin-tabs.player-tabs{--lumo-primary-text-color: var(--app-primary);border-bottom:1px solid rgba(229,217,243,.7)}vaadin-tabs.player-tabs vaadin-tab{color:var(--lumo-secondary-text-color);font-weight:700}vaadin-tabs.player-tabs vaadin-tab[selected]{color:var(--app-primary)}.player-tab-panels{display:flex;flex:1 1 auto;min-height:0;min-width:0;width:100%}.player-tab-panel{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:0;height:100%;min-height:0}.player-tab-panel>vaadin-grid{flex:1 1 auto}.player-section{gap:.75rem;padding:.15rem 0 1rem;border-bottom:1px solid rgba(229,217,243,.65)}.player-section:last-child{border-bottom:none;padding-bottom:0}.player-section-description,.player-note-meta,.player-note-editor>p{margin:0;color:var(--lumo-secondary-text-color);line-height:1.55}.player-inline-hint,.player-note-title,.player-note-body,.player-inline-picker{margin:0}.player-section-body{gap:1rem;min-width:0;width:100%}.player-section-nested{gap:.7rem;min-width:0;width:100%}.player-form-grid{width:100%}.player-lifecycle-field input{font-variant-numeric:tabular-nums}.player-note-toolbar{gap:.8rem;align-items:flex-end}.player-note-toolbar>:last-child{flex:1 1 auto}.player-inline-actions{display:flex;flex-wrap:wrap;gap:.75rem;width:100%}.player-inline-picker{width:100%}.player-inline-picker vaadin-multi-select-combo-box{width:min(28rem,100%);max-width:100%}.player-note-list{gap:.85rem}.player-note-card{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem;border:1px solid var(--app-border);border-radius:var(--app-radius-l);background:var(--app-surface-muted)}.player-note-body{line-height:1.65;color:var(--lumo-body-text-color)}.player-note-title{font-size:.98rem;line-height:1.35}vaadin-button.player-note-edit{--vaadin-button-background: rgba(134, 85, 246, .1);--vaadin-button-border: 0;--vaadin-button-min-width: 2.25rem;--vaadin-button-padding: 0;width:2.25rem;height:2.25rem;box-shadow:none}vaadin-button.player-parent-radio,vaadin-button.player-inline-icon-action{--vaadin-button-border: 0;--vaadin-button-background: transparent;--vaadin-button-padding: 0;--vaadin-button-min-width: 1.8rem;width:1.8rem;height:1.8rem;box-shadow:none}vaadin-button.player-parent-radio::part(label){display:none}vaadin-button.player-parent-radio:before{content:"";display:block;width:.92rem;height:.92rem;border-radius:999px;border:1.5px solid rgba(148,163,184,.9);background:transparent}vaadin-button.player-parent-radio--selected:before{border-color:var(--app-status-info-text);box-shadow:inset 0 0 0 3px #fff;background:var(--app-status-info-text)}vaadin-button.player-inline-icon-action::part(label){color:var(--app-text-muted)}vaadin-button.player-note-edit::part(label){color:var(--app-primary)}.player-note-editor{padding-top:.75rem;border-top:1px solid rgba(229,217,243,.65)}.player-empty-state{margin:0;padding:1rem 1.1rem;border:1px dashed var(--app-border);border-radius:var(--app-radius-l);color:var(--lumo-secondary-text-color);background:#fffaf4a6}.player-footer-actions{align-items:center;padding-top:.75rem;margin-top:auto;border-top:1px solid rgba(229,217,243,.7)}.autosave-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:1.5rem}.autosave-status-helper,.autosave-status{margin:0;font-size:.8rem}.autosave-status-helper{color:var(--lumo-secondary-text-color)}.autosave-status{color:var(--lumo-secondary-text-color);font-weight:700}.autosave-status[data-state=saving]{color:#0f766e}.autosave-status[data-state=saved]{color:#166534}.autosave-status[data-state=error]{color:var(--lumo-error-text-color)}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;align-items:start}.family-player-card,.self-profile-card{padding:1rem;gap:.75rem!important}.family-card-header{gap:.85rem;align-items:flex-start}.family-avatar{width:2.85rem;height:2.85rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#94a3b838;color:var(--app-status-neutral-text);font-weight:800}.family-title-block h4,.family-title-block p,.family-section-block h4,.self-profile-note,.self-profile-helper{margin:0}.family-title-block p,.family-contact-list p,.family-schedule-item,.self-profile-note{color:var(--lumo-secondary-text-color)}.family-contact-list{gap:.25rem!important}.family-section-block{gap:.45rem!important}.family-schedule-item{padding:.5rem .7rem;border:1px solid rgba(229,217,243,.65);border-radius:var(--app-radius-m);background:#fffaf4b3;line-height:1.55}.family-calendar-field{width:100%}.calendar-subscription-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;width:100%;margin:.25rem 0}.calendar-subscription-row>span{font-size:.88rem;font-weight:500;color:var(--lumo-secondary-text-color)}.self-profile-card{max-width:560px;gap:1rem}.self-profile-card>h4{margin:0;font-size:.95rem}.self-profile-helper{padding:.85rem 1rem;border:1px solid rgba(59,130,246,.18);border-radius:var(--app-radius-m);background:#3b82f614;color:#1d4ed8;font-weight:600}vaadin-app-layout[theme~=dark] .player-detail-header,vaadin-app-layout[theme~=dark] .player-footer-actions,vaadin-app-layout[theme~=dark] .player-section,vaadin-app-layout[theme~=dark] vaadin-tabs.player-tabs{border-color:#5a5049b8}vaadin-app-layout[theme~=dark] .player-note-card,vaadin-app-layout[theme~=dark] .player-empty-state{background:#37312eb8}vaadin-app-layout[theme~=dark] .family-schedule-item,vaadin-app-layout[theme~=dark] .self-profile-helper{background:#37312ec7}@media(max-width:1100px){.player-workspace{flex-direction:row}.player-workspace>*:first-child{flex:0 0 41%}.player-roster-panel,.player-detail-panel{min-height:0}}@media(max-width:900px){.player-workspace{flex-direction:column}.player-workspace>*:first-child{flex:1 1 auto}.player-roster-panel{min-height:19rem}.player-roster-grid{min-height:15rem}}@media(max-width:700px){.player-roster-toolbar>:first-child{flex:0 0 auto;min-width:0}.users-roster-filters{flex-direction:column;align-items:stretch}.users-roster-filters>*{flex:0 0 auto;width:100%!important;max-width:none;min-width:0}.player-detail-panel,.player-roster-panel{padding-inline:1rem}.player-note-toolbar{flex-direction:column;align-items:stretch}.family-grid{grid-template-columns:1fr}}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;width:100%}.overview-stat-card,.dashboard-list-item,.quick-action-card{border:1px solid var(--app-border);background:var(--app-surface-muted);box-shadow:var(--app-shadow-soft)}.overview-stat-card{padding:1.05rem 1.1rem 1rem;border-radius:var(--app-radius-xl)}.overview-stat-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.overview-stat-icon,.dashboard-list-icon,.quick-action-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.overview-stat-icon{width:2.7rem;height:2.7rem;border-radius:16px;background:var(--app-surface-lilac-soft);color:var(--app-primary);flex:0 0 auto}.overview-stat-badge,.pill-chip,.dashboard-pill,.venue-pill{display:inline-flex;align-items:center;justify-content:center;padding:.32rem .7rem;border-radius:var(--app-radius-pill);background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text);font-size:.76rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.overview-stat-value{display:block;font-family:var(--lumo-primary-font-family);font-size:clamp(2rem,3.2vw,2.7rem);line-height:1;letter-spacing:-.05em;font-weight:800;color:var(--lumo-header-text-color)}.overview-stat-value-row{display:flex;align-items:baseline;gap:.55rem;margin-top:.85rem;flex-wrap:wrap}.overview-stat-value-suffix{font-size:1.22rem;font-weight:700;line-height:1.15;color:var(--lumo-header-text-color)}.action-primary .quick-action-icon,.list-icon-primary{background:var(--app-surface-lilac-soft);color:var(--app-primary)}.action-secondary .quick-action-icon,.list-icon-secondary{background:var(--app-surface-pink-soft);color:var(--app-secondary)}.overview-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem;width:100%;align-items:start}.dashboard-panel-card{min-width:0;gap:1.2rem;width:100%}.dashboard-card-header{gap:1rem}.dashboard-card-title{margin:0;font-size:1.15rem;font-weight:800}.dashboard-list{gap:.9rem;width:100%}.dashboard-list-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.05rem;border-radius:var(--app-radius-l);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;width:100%}.dashboard-list-item:hover:not(.is-disabled),.quick-action-card:hover:not(.is-disabled){transform:translateY(-2px);border-color:var(--app-border-strong);box-shadow:var(--app-shadow-lifted)}.dashboard-list-item.is-disabled,.quick-action-card.is-disabled{opacity:.6;cursor:default;box-shadow:none}.dashboard-list-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dashboard-list-title,.quick-action-title{font-family:var(--lumo-primary-font-family);font-size:1.04rem;font-weight:700;color:var(--lumo-header-text-color)}.dashboard-list-subtitle{color:var(--lumo-body-text-color)}.dashboard-list-meta{color:var(--lumo-secondary-text-color);font-size:.94rem;line-height:1.45}.dashboard-list-tail{color:var(--lumo-secondary-text-color);font-weight:700}.dashboard-list-icon{width:2.85rem;height:2.85rem}.dashboard-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.85rem;align-items:stretch}.quick-action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:118px;width:100%;padding:1.05rem .9rem;border-radius:var(--app-radius-l);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}vaadin-app-layout[theme~=dark] .overview-stat-card,vaadin-app-layout[theme~=dark] .dashboard-list-item,vaadin-app-layout[theme~=dark] .quick-action-card{box-shadow:var(--app-shadow-soft)}.quick-action-icon{width:3rem;height:3rem}.quick-action-title{text-align:center;line-height:1.3}@media(max-width:1100px){.overview-stats{grid-template-columns:repeat(2,minmax(0,17rem))}.overview-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.overview-panels{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.overview-stat-card{padding:.9rem .85rem .85rem}.overview-stat-header{gap:.5rem}.overview-stat-icon{width:2.35rem;height:2.35rem;border-radius:14px}.overview-stat-badge{padding:.26rem .55rem;font-size:.68rem}.overview-stat-value{font-size:clamp(1.55rem,7vw,2rem)}.overview-stat-value-row{gap:.35rem;margin-top:.65rem}.overview-stat-value-suffix{font-size:1rem}.overview-panels{grid-template-columns:minmax(0,1fr)}.dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.quick-action-card{min-height:96px;gap:.5rem;padding:.85rem .7rem}.quick-action-icon{width:2.4rem;height:2.4rem}.quick-action-title{font-size:.92rem}}.attendance-view{gap:.95rem}.attendance-session-card,.attendance-roster-card{width:100%;box-sizing:border-box;padding:1rem 1.25rem}.attendance-autosave-meta{align-items:flex-start}.attendance-roster-heading,.attendance-roster-cell:before{color:var(--lumo-secondary-text-color);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.attendance-time-pill,.attendance-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;width:fit-content;padding:.36rem .8rem;border-radius:var(--app-radius-pill);border:1px solid var(--app-surface-lilac-soft-border);font-size:.86rem;font-weight:700}.attendance-session-meta,.attendance-muted-text{margin:0;color:var(--lumo-secondary-text-color);font-size:.92rem;line-height:1.45}.attendance-group-pills,.attendance-player-meta{display:flex;flex-wrap:wrap}.attendance-group-pills{gap:.32rem;align-items:center}.attendance-player-meta{gap:.45rem;align-items:center}.attendance-pill--group{background:var(--app-surface-lilac-soft);border-color:var(--app-surface-lilac-soft-border);color:var(--app-surface-lilac-text);min-height:1.45rem;padding:.16rem .55rem;font-size:.75rem;font-weight:700}.attendance-roster-toolbar{width:100%;overflow-x:auto;padding-bottom:.1rem}.attendance-filter-stack{display:flex;flex-wrap:nowrap;align-items:end;gap:.55rem;min-width:max-content}.attendance-filter-stack>vaadin-button{flex:0 0 auto}.attendance-filter-stack>vaadin-combo-box{flex:1 1 9rem;min-width:9rem;max-width:12rem;width:100%}.attendance-filter-stack>vaadin-text-field{flex:1 1 12rem;min-width:12rem;max-width:16rem;width:100%}.attendance-roster-table-shell{--attendance-member-column: 18ch;--attendance-status-column: 12ch;--attendance-group-column: 16ch;--attendance-comment-column: 16ch;--attendance-table-min-width: calc( var(--attendance-member-column) + var(--attendance-status-column) + var(--attendance-group-column) + var(--attendance-comment-column) + 2.25rem );width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-inline-end:var(--app-scrollbar-inset);padding-block-end:var(--app-scrollbar-inset);scrollbar-gutter:stable}.attendance-roster-header,.attendance-roster-row{display:grid;grid-template-columns:minmax(var(--attendance-member-column),var(--attendance-member-column)) minmax(var(--attendance-status-column),var(--attendance-status-column)) minmax(var(--attendance-group-column),var(--attendance-group-column)) minmax(var(--attendance-comment-column),1fr);column-gap:.3rem;align-items:center;width:100%;box-sizing:border-box}.attendance-roster-header,.attendance-roster-body{width:max(100%,var(--attendance-table-min-width));min-width:var(--attendance-table-min-width)}.attendance-roster-header{margin-top:.55rem;padding:.48rem .15rem .46rem;border-top:1px solid var(--app-table-frame-border);border-inline:1px solid var(--app-table-frame-border);border-bottom:1px solid var(--app-table-frame-border);background:var(--app-table-header-background);border-radius:var(--app-table-frame-radius) var(--app-table-frame-radius) 0 0}.attendance-roster-body{display:flex;flex-direction:column;border-inline:1px solid var(--app-table-frame-border-muted);border-bottom:1px solid var(--app-table-frame-border-muted)}.attendance-roster-row{padding:0 .15rem;border-bottom:1px solid var(--app-table-frame-border-muted);background:transparent}.attendance-roster-row:nth-child(odd){background:var(--app-table-odd-row-background)}.attendance-roster-row:last-child{border-bottom:none}.attendance-roster-row:hover{background:var(--app-table-hover-background)}.attendance-roster-heading{display:block;line-height:1.15;padding:.06rem 0}.attendance-roster-cell{min-width:0;padding:.45rem 0}.attendance-roster-heading:first-child,.attendance-roster-cell:first-child{padding-inline-start:var(--app-table-edge-padding)}.attendance-roster-heading:last-child,.attendance-roster-cell:last-child{padding-inline-end:var(--app-table-edge-padding)}.attendance-roster-cell>vaadin-button,.attendance-roster-cell>vaadin-text-field{width:100%;min-width:0;max-width:100%;--vaadin-field-default-width: 0}.attendance-status-button{justify-content:center;min-height:2rem;padding:0}.attendance-status-button::part(label){width:100%;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;font-weight:700}.attendance-status-button[data-status=present]{--vaadin-button-background: rgba(22, 163, 74, .12);--vaadin-button-text-color: #166534;--vaadin-button-border: 0;background:#16a34a1f;color:#166534}.attendance-status-button[data-status=late]{--vaadin-button-background: rgba(217, 119, 6, .12);--vaadin-button-text-color: #b45309;--vaadin-button-border: 0;background:#d977061f;color:#b45309}.attendance-status-button[data-status=absent]{--vaadin-button-background: rgba(220, 38, 38, .1);--vaadin-button-text-color: #b91c1c;--vaadin-button-border: 0;background:#dc26261a;color:#b91c1c}.attendance-status-button[data-status=excused]{--vaadin-button-background: rgba(8, 145, 178, .12);--vaadin-button-text-color: #0f766e;--vaadin-button-border: 0;background:#0891b21f;color:#0f766e}.attendance-status-button[data-status=game]{--vaadin-button-background: var(--app-status-info-soft);--vaadin-button-text-color: var(--app-status-info-text);--vaadin-button-border: 0;background:var(--app-status-info-soft);color:var(--app-status-info-text)}.attendance-status-button[data-status=unmarked]{--vaadin-button-background: rgba(120, 113, 108, .12);--vaadin-button-text-color: #57534e;--vaadin-button-border: 0;background:#78716c1f;color:#57534e}.attendance-roster-cell>vaadin-text-field::part(input-field){min-height:2rem;padding-top:0;padding-bottom:0;padding-inline:.45rem;font-size:.92rem}.attendance-roster-member-cell{display:flex;align-items:flex-start}.attendance-player-copy{display:flex;flex-direction:column;gap:.18rem;min-width:0}.attendance-player-name{color:var(--lumo-header-text-color);font-weight:700;font-size:.94rem;line-height:1.2}.attendance-muted-text{font-size:.78rem;line-height:1.2}.attendance-roster-group-cell .attendance-group-pills{justify-content:flex-start}.attendance-empty-state{padding:.35rem .1rem 0}vaadin-app-layout[theme~=dark] .attendance-time-pill,vaadin-app-layout[theme~=dark] .attendance-pill--group{background:var(--app-surface-lilac-soft);border-color:var(--app-surface-lilac-soft-border);color:var(--app-surface-lilac-text)}vaadin-app-layout[theme~=dark] .attendance-status-button[data-status=present]{--vaadin-button-background: var(--app-status-success-soft);--vaadin-button-text-color: var(--app-status-success-text);--vaadin-button-border: 0;background:var(--app-status-success-soft);color:var(--app-status-success-text)}vaadin-app-layout[theme~=dark] .attendance-status-button[data-status=late]{--vaadin-button-background: rgba(251, 191, 36, .18);--vaadin-button-text-color: #fef3c7;--vaadin-button-border: 0;background:#fbbf242e;color:#fef3c7}vaadin-app-layout[theme~=dark] .attendance-status-button[data-status=absent]{--vaadin-button-background: rgba(248, 113, 113, .18);--vaadin-button-text-color: #fee2e2;--vaadin-button-border: 0;background:#f871712e;color:#fee2e2}vaadin-app-layout[theme~=dark] .attendance-status-button[data-status=excused]{--vaadin-button-background: rgba(45, 212, 191, .18);--vaadin-button-text-color: #ccfbf1;--vaadin-button-border: 0;background:#2dd4bf2e;color:#ccfbf1}vaadin-app-layout[theme~=dark] .attendance-status-button[data-status=game]{--vaadin-button-background: var(--app-status-info-soft);--vaadin-button-text-color: var(--app-status-info-text);--vaadin-button-border: 0;background:var(--app-status-info-soft);color:var(--app-status-info-text)}vaadin-app-layout[theme~=dark] .attendance-status-button[data-status=unmarked]{--vaadin-button-background: rgba(168, 162, 158, .2);--vaadin-button-text-color: var(--app-status-neutral-text);--vaadin-button-border: 0;background:#a8a29e33;color:var(--app-status-neutral-text)}vaadin-app-layout[theme~=dark] .attendance-roster-row{border-bottom-color:var(--app-table-frame-border-muted)}vaadin-app-layout[theme~=dark] .attendance-roster-row:nth-child(odd){background:var(--app-table-odd-row-background)}vaadin-app-layout[theme~=dark] .attendance-roster-header{background:var(--app-table-header-background);border-inline-color:var(--app-table-frame-border);border-bottom-color:var(--app-table-frame-border);border-top-color:var(--app-table-frame-border)}vaadin-app-layout[theme~=dark] .attendance-roster-body{border-inline-color:var(--app-table-frame-border-muted)}@media(max-width:920px){.attendance-filter-stack{align-items:end}}@media(max-width:760px){.attendance-roster-table-shell{margin-top:.35rem}}@media(max-width:720px){.attendance-session-card,.attendance-roster-card{padding:1rem}}@media(max-width:560px){.attendance-filter-stack{flex-wrap:wrap;min-width:0}.attendance-filter-stack>vaadin-button,.attendance-filter-stack>vaadin-combo-box,.attendance-filter-stack>vaadin-text-field{flex:1 1 100%;min-width:0;max-width:none;width:100%}}@media(max-width:700px){.attendance-roster-heading{padding-block:.03rem}.attendance-roster-cell{padding-block:.24rem}.attendance-player-name{font-size:.88rem;line-height:1.15}.attendance-pill--group{min-height:1.2rem;padding:.1rem .45rem;font-size:.7rem}.attendance-status-button{--vaadin-button-height: calc(var(--app-table-mobile-inline-control-size) + .2rem);--vaadin-button-margin: .15rem 0;min-height:calc(var(--app-table-mobile-inline-control-size) + .2rem);height:calc(var(--app-table-mobile-inline-control-size) + .2rem)}.attendance-roster-cell>vaadin-text-field{--lumo-size-m: var(--app-table-mobile-inline-control-size);--vaadin-input-field-height: var(--app-table-mobile-inline-control-size);--vaadin-input-field-label-space: 0;padding-top:0}.attendance-roster-cell>vaadin-text-field::part(label){display:none}.attendance-roster-cell>vaadin-text-field:before{display:none}.attendance-roster-cell>vaadin-text-field::part(input-field){min-height:var(--app-table-mobile-inline-control-size);padding-inline:.35rem;font-size:.88rem}.attendance-status-button::part(label){font-size:.74rem}}.week-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1rem;padding:0}.week-board.week-board--month{grid-template-columns:repeat(4,minmax(180px,1fr))}.week-board.week-board--day{grid-template-columns:1fr}.week-column{min-height:260px;padding:1rem;border-radius:var(--app-radius-l);background:#fffbf6eb;border:1px solid var(--app-border)}.week-column.week-column--empty{min-height:auto;padding:.75rem 1rem}vaadin-app-layout[theme~=dark] .week-column{background:#37312ee6;box-shadow:var(--app-shadow-soft)}.calendar-card{box-shadow:var(--app-shadow-card-soft);display:flex;flex-direction:column;gap:.6rem;padding:.95rem;border-radius:var(--app-radius-l);border:1px solid rgba(154,145,140,.24);border-left:4px solid var(--app-primary);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;background:radial-gradient(circle at top right,rgba(255,255,255,.74),transparent 36%),linear-gradient(145deg,#fffaf6fa,#fff3efeb)}.calendar-card h4,.calendar-card p{margin:0}.calendar-card>*+*{margin-top:.35rem}.training-calendar-view{gap:1rem}.calendar-heading{margin-bottom:0}.calendar-description{margin:0;color:var(--lumo-secondary-text-color)}.calendar-container{padding:1.25rem}.calendar-toolbar,.calendar-filter-bar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end;padding:0}.calendar-toolbar>*,.calendar-filter-bar>*{flex:1 1 12rem;min-width:0}.calendar-toolbar>vaadin-button{flex:0 0 auto}.calendar-entry-wrapper{width:100%;gap:.6rem}.calendar-entry-title{font-weight:700;color:var(--lumo-header-text-color)}.calendar-entry-meta{color:var(--lumo-secondary-text-color);font-size:.94rem;line-height:1.45}.calendar-card--training{border-left-color:#8b5cf6}.calendar-card--match{border-left-color:#ec4899}.calendar-card--club_event,.calendar-card--hall_closure,.calendar-card--tournament{border-left-color:#f97316}.calendar-card--training:hover{border-left-color:#8b5cf6}.calendar-card--match:hover{border-left-color:#ec4899}.calendar-card--club_event:hover,.calendar-card--hall_closure:hover,.calendar-card--tournament:hover{border-left-color:#f97316}.calendar-card:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-card-lifted)}vaadin-app-layout[theme~=dark] .calendar-card{border-color:#57534ef5;background:radial-gradient(circle at top right,rgba(216,180,254,.12),transparent 36%),linear-gradient(145deg,#37312ef5,#1f1a17f0);box-shadow:var(--app-shadow-soft)}.calendar-card-top,.calendar-meta-row,.calendar-chip-row,.calendar-entry-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.calendar-card-top{justify-content:space-between}.calendar-type-pill,.calendar-status-pill,.calendar-meta-pill,.calendar-chip{display:inline-flex;align-items:center;padding:.38rem .74rem;border-radius:var(--app-radius-pill);font-weight:700;font-size:.77rem}.calendar-type-pill{background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text)}.calendar-status-pill{background:var(--app-status-attention-soft);color:var(--app-status-attention-text)}.calendar-meta-pill,.calendar-chip{background:var(--app-panel-overlay-muted);color:var(--lumo-secondary-text-color)}.calendar-status-pill[data-status=planned],.calendar-status-pill[data-status=confirmed],.calendar-status-pill[data-status=scheduled]{background:var(--app-status-success-soft);color:var(--app-status-success-text)}.calendar-card-detail,.calendar-card-supporting{margin:0;color:var(--lumo-secondary-text-color)}@media(max-width:1100px){.week-board,.week-board.week-board--month{grid-template-columns:repeat(2,minmax(0,1fr))}.week-board.week-board--day{grid-template-columns:1fr}}@media(max-width:700px){.week-board,.week-board.week-board--month,.week-board.week-board--day{grid-template-columns:1fr}.calendar-toolbar,.calendar-filter-bar{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.7rem;padding:0}.calendar-toolbar>*,.calendar-filter-bar>*{flex:0 0 auto;min-width:0;width:100%}.calendar-toolbar>vaadin-button{width:100%}.week-column{min-height:8.5rem;padding:.85rem}.week-column.week-column--empty{min-height:auto;padding:.65rem .85rem}}.training-tournaments-view,.training-tournament-create-view,.training-tournament-setup-view,.training-tournament-detail-view,.training-tournament-participants-view,.training-tournament-live-view,.training-tournament-results-view{gap:1rem}.tournament-filter-bar,.tournament-route-header,.tournament-action-panel,.tournament-list-card,.tournament-summary-grid,.tournament-list-section,.tournament-section-card,.tournament-rounds{width:100%;box-sizing:border-box}.tournament-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem 1rem;padding:1rem 1.1rem}.tournament-filter-bar>:first-child{flex:1 1 18rem;min-width:min(100%,18rem)}.tournament-filter-bar>vaadin-button{flex:0 0 auto}.tournament-list-grid,.tournament-section-card vaadin-grid{box-shadow:none;--vaadin-grid-cell-padding: var(--app-table-compact-cell-padding);font-size:.92rem}.tournament-list-grid::part(header-cell),.tournament-section-card vaadin-grid::part(header-cell){font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.tournament-participant-cell{min-height:2.25rem;display:inline-flex;align-items:center}.tournament-seed-control{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem}.tournament-seed-control--removed{opacity:.72}.tournament-seed-value{min-width:2.4rem;min-height:2.25rem;padding:0 .65rem;border:1px solid rgba(218,203,240,.95);border-radius:var(--app-radius-pill);background:var(--app-panel-overlay-muted);color:var(--app-text);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.tournament-participant-actions{display:inline-flex;align-items:center;justify-content:flex-start;min-width:max-content;min-height:2.5rem}vaadin-button.tournament-seed-move-button{--vaadin-button-height: 2.25rem;--vaadin-button-min-width: 2.25rem;--vaadin-button-padding: 0;width:2.25rem;min-width:2.25rem}vaadin-button.tournament-seed-move-button::part(label){gap:0}.tournament-participant-cell--removed{color:var(--app-text-muted);opacity:.72}.tournament-participant-field--removed{opacity:.72}.tournament-participant-field--removed::part(input-field){background:var(--app-surface-muted);color:var(--app-text-muted)}.tournament-list-card{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.1rem}.tournament-list-card>.tournament-filter-bar,.tournament-list-card>.tournament-list-section,.tournament-list-card>.tournament-empty-state{width:100%}.tournament-list-card>.tournament-filter-bar,.tournament-list-card>.tournament-list-section{padding:0}.tournament-list-card>.tournament-list-section+.tournament-list-section{padding-top:1rem;border-top:1px solid var(--app-border)}.tournament-list-card>.tournament-empty-state{padding:0}.tournament-list-section,.tournament-section-card{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem;overflow:hidden}.tournament-import-panel{gap:.25rem}.tournament-section-title{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--lumo-header-text-color)}.tournament-empty-state{padding:1.15rem 1.25rem;margin:0}.tournament-route-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;padding:1.15rem 1.25rem}.tournament-route-header-copy{gap:.45rem;min-width:0}.tournament-route-header-copy h2{margin:0;font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.06;letter-spacing:-.03em}.tournament-route-header-copy p{margin:0;max-width:42rem;color:var(--lumo-secondary-text-color);line-height:1.55}.tournament-route-header-actions{gap:.65rem;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.tournament-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}.tournament-summary-card{display:flex;flex-direction:column;gap:.45rem;min-height:8rem;padding:1rem 1.1rem}.tournament-summary-card-label{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--lumo-secondary-text-color)}.tournament-summary-card-value{font-size:clamp(1.3rem,2vw,1.65rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;color:var(--lumo-header-text-color)}.tournament-summary-card-supporting{margin:0;color:var(--lumo-secondary-text-color);line-height:1.55}.tournament-status-badge{display:inline-flex;align-items:center;width:fit-content;min-height:1.8rem;padding:.22rem .72rem;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;background:var(--app-status-neutral-soft);color:var(--app-status-neutral-text)}.tournament-status-badge[data-status=draft],.tournament-status-badge[data-status=ready]{background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text)}.tournament-status-badge[data-status=in_progress],.tournament-status-badge[data-status=paused]{background:var(--app-status-info-soft);color:var(--app-status-info-text)}.tournament-status-badge[data-status=completed]{background:var(--app-status-success-soft);color:var(--app-status-success-text)}.tournament-status-badge[data-status=cancelled],.tournament-status-badge[data-status=void]{background:var(--app-status-attention-soft);color:var(--app-status-attention-text)}.tournament-context-badge[data-context=training_support]{background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text)}.tournament-context-badge[data-context=club_tournament_event]{background:var(--app-surface-pink-soft);color:var(--app-surface-pink-text)}.tournament-action-panel,.tournament-builder-row,.tournament-inline-editor{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.tournament-action-panel{padding:1rem 1.1rem}.tournament-builder-row>:first-child,.tournament-inline-editor>vaadin-text-field,.tournament-inline-editor>vaadin-combo-box,.tournament-inline-editor>vaadin-multi-select-combo-box{flex:1 1 16rem}.tournament-builder-row>:nth-child(2){flex:1 1 12rem}.tournament-builder-row>:last-child,.tournament-inline-editor>vaadin-button,.tournament-action-panel>vaadin-button{flex:0 0 auto}.tournament-inline-editor>vaadin-integer-field{flex:0 1 7rem}.tournament-result-editor{width:100%}.tournament-winner-toggle{display:flex;flex-wrap:wrap;gap:.65rem}.tournament-winner-button{min-width:8.75rem;--vaadin-button-background: var(--app-surface);--vaadin-button-text-color: var(--lumo-header-text-color);--vaadin-button-height: 2.55rem;--vaadin-button-padding: 0 1.15rem;--vaadin-button-border: 1px solid var(--app-border);--vaadin-button-border-radius: var(--app-radius-m);background:var(--app-surface);box-shadow:none;color:var(--lumo-header-text-color)}.tournament-winner-button::part(label){font-weight:800}.tournament-winner-button:hover{--vaadin-button-border: 1px solid var(--app-border-strong);border-color:var(--app-border-strong)}.tournament-winner-button.tournament-winner-button-selected{--vaadin-button-border: 0;--vaadin-button-background: var(--app-gradient-hero);--vaadin-button-text-color: #fff;background:var(--app-gradient-hero);box-shadow:0 16px 30px #8655f633;color:#fff}.tournament-score-editor{display:flex;align-items:flex-start;width:100%}.tournament-score-inputs{display:flex;flex-wrap:wrap;gap:.75rem;width:100%}.tournament-score-inputs>*{flex:1 1 0;min-width:0}.tournament-score-separator{flex:0 0 auto;align-self:center;color:var(--lumo-header-text-color);font-size:1.35rem;font-weight:800;line-height:1}vaadin-integer-field.tournament-score-input{width:100%;min-width:0}vaadin-integer-field.tournament-score-input::part(input-field){padding-inline:.2rem}vaadin-integer-field.tournament-score-input::part(value){font-weight:800;text-align:center}.tournament-rounds{display:flex;flex-direction:column;gap:1rem}.tournament-rounds vaadin-details-summary{padding:.95rem 1rem;font-weight:800;color:var(--lumo-header-text-color)}.tournament-rounds vaadin-details-summary::part(toggle){margin-inline-start:.2rem;margin-inline-end:.55rem}.tournament-rounds vaadin-details.surface-card::part(content){padding:0 1rem .85rem}.tournament-round-body{align-items:stretch;gap:.65rem}.tournament-round-actions{align-self:flex-start;gap:.55rem;flex-wrap:wrap}.tournament-round-body>vaadin-button,.tournament-round-body>.tournament-round-actions{align-self:flex-start}.tournament-contest-card{display:flex;flex-direction:column;gap:.45rem;padding:.8rem .9rem}.tournament-contest-card h4,.tournament-contest-card p{margin:0}.tournament-contest-heading{font-size:1.125rem;font-weight:700;line-height:1.3}.tournament-contest-result{color:var(--lumo-secondary-text-color);line-height:1.35}.tournament-rubber-list{display:flex;flex-direction:column;gap:.55rem}.tournament-history-card{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 0;border-top:1px solid rgba(229,217,243,.72)}.tournament-history-card:first-child{padding-top:0;border-top:none}.tournament-history-card p{margin:0;line-height:1.55}vaadin-app-layout[theme~=dark] .tournament-history-card{border-top-color:#78716cbf}@media(max-width:700px){.tournament-filter-bar,.tournament-action-panel,.tournament-builder-row,.tournament-inline-editor,.tournament-route-header-actions{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.tournament-filter-bar,.tournament-action-panel,.tournament-route-header{gap:.7rem;padding:.85rem .9rem}.tournament-filter-bar>*,.tournament-action-panel>*,.tournament-builder-row>*,.tournament-inline-editor>*,.tournament-route-header-actions>*{flex:0 0 auto;min-width:0;width:100%}.tournament-filter-bar>:first-child,.tournament-builder-row>:first-child,.tournament-builder-row>:nth-child(2),.tournament-inline-editor>vaadin-text-field,.tournament-inline-editor>vaadin-combo-box,.tournament-inline-editor>vaadin-multi-select-combo-box,.tournament-inline-editor>vaadin-integer-field{flex:0 0 auto;min-width:0}.tournament-inline-editor>vaadin-button{flex:0 0 auto;align-self:flex-start}.tournament-winner-toggle{width:100%}.tournament-winner-button{flex:1 1 0;min-width:0;width:auto}.training-tournament-participants-view .tournament-inline-editor{flex-direction:row;flex-wrap:nowrap;align-items:flex-end}.training-tournament-participants-view .tournament-inline-editor>vaadin-text-field,.training-tournament-participants-view .tournament-inline-editor>vaadin-combo-box,.training-tournament-participants-view .tournament-inline-editor>vaadin-multi-select-combo-box,.training-tournament-participants-view .tournament-inline-editor>vaadin-integer-field{flex:1 1 auto;width:auto;min-width:0}.training-tournament-participants-view .tournament-inline-editor>vaadin-button{width:2.5rem;min-width:2.5rem;align-self:auto}.tournament-route-header{flex-direction:column}.tournament-route-header-actions{width:100%;margin-left:0;justify-content:flex-start}.tournament-summary-grid{grid-template-columns:1fr}.tournament-list-section,.tournament-section-card{padding:.9rem}.tournament-rounds vaadin-details-summary,.tournament-rounds vaadin-details.surface-card::part(content){padding-inline:.85rem}.tournament-rounds vaadin-details-summary::part(toggle){margin-inline-start:.15rem;margin-inline-end:.45rem}}.group-crosstable{border:1px solid var(--app-border);background:var(--app-surface);border-radius:6px;overflow:hidden;margin-top:.5rem}.group-crosstable th{background:var(--app-panel-overlay-muted);color:var(--lumo-header-text-color);font-weight:700;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid var(--app-border)}.group-crosstable td{border-bottom:1px solid var(--app-border);color:var(--lumo-header-text-color);font-size:.9rem}.group-crosstable tr:last-child td{border-bottom:none}.group-crosstable td.diagonal{background-color:#0000000a}vaadin-app-layout[theme~=dark] .group-crosstable td.diagonal{background-color:#ffffff0a}.knockout-bracket-container{scrollbar-width:thin}.knockout-bracket-container::-webkit-scrollbar{height:6px}.knockout-bracket-container::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:3px}.ko-match-card{transition:transform .2s ease,box-shadow .2s ease}.ko-match-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000000a;border-color:var(--app-border-strong)}.training-planning-view{gap:1rem}.training-planning-shell{display:flex;flex-direction:column;gap:1rem}.planner-toolbar-card{display:flex;flex-direction:column;gap:1.35rem;padding:1.55rem 1.7rem 1.45rem}.planner-top-action-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.1rem}.planner-top-action-panel>vaadin-button{flex:0 0 auto}.planner-toolbar-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.planner-week-range{display:inline-flex;align-items:center;gap:.8rem;min-width:0}.planner-week-icon{color:#57534e;flex:0 0 auto}.planner-week-label{font-size:clamp(1.3rem,2vw,1.55rem);font-weight:800;letter-spacing:-.02em;color:var(--lumo-header-text-color)}.planner-helper-copy{margin:0;color:var(--lumo-secondary-text-color)}.planner-toolbar-controls{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:end;justify-content:space-between}.planner-toolbar-filters,.planner-toolbar-actions,.planner-week-nav{display:flex;flex-wrap:wrap;gap:.9rem}.planner-toolbar-filters{flex:0 1 auto;align-items:flex-end}.planner-toolbar-actions{align-items:center;justify-content:flex-end}vaadin-combo-box.planner-toolbar-select{width:clamp(10.5rem,16vw,11.5rem);--vaadin-input-field-background: rgba(255, 255, 255, .94);--vaadin-input-field-border-color: rgba(214, 211, 209, .88);--vaadin-input-field-border-radius: 1rem;--vaadin-input-field-label-color: #57534e;--vaadin-input-field-label-font-weight: 700;--vaadin-input-field-focused-highlight-color: rgba(109, 76, 255, .22)}vaadin-combo-box.planner-toolbar-select::part(input-field){min-height:3.25rem;box-shadow:0 8px 18px #78716c14,inset 0 1px 0 var(--app-panel-overlay-muted)}vaadin-combo-box.planner-toolbar-select::part(value),vaadin-combo-box.planner-toolbar-select::part(toggle-button){color:#44403c;font-weight:700}vaadin-button.planner-ghost-action{--vaadin-button-background: var(--app-panel-overlay);--vaadin-button-border: 1px solid rgba(214, 211, 209, .92);--vaadin-button-border-radius: 1rem;--vaadin-button-min-width: 3rem;--vaadin-button-height: 3rem;--vaadin-button-padding: 0;color:#44403c;box-shadow:0 10px 22px #78716c1f}vaadin-button.planner-ghost-action:hover{--vaadin-button-background: #fff;--vaadin-button-border: 1px solid rgba(168, 162, 158, .95)}vaadin-button.planner-toolbar-primary-action{--vaadin-button-border-radius: 1rem;--vaadin-button-height: 3rem;--vaadin-button-min-width: 0;--vaadin-button-padding: 0 1.35rem}vaadin-button.planner-toolbar-primary-action::part(prefix){margin-inline-end:.45rem}.planner-workspace{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.78fr);gap:1rem;align-items:start}.planner-timeline-card,.planner-editor-card{padding:1.2rem}.planner-timeline-card{padding:.95rem}.planner-editor-card{padding:1rem}.planner-section-title{margin:0 0 .65rem;font-size:.94rem}.planner-timeline-board{display:flex;flex-direction:column;gap:.5rem}.planner-day-column{padding:.7rem .8rem;border-radius:1rem;border:1px solid var(--app-border);background:#fffbf6e0}.planner-day-header{display:flex;align-items:baseline;gap:.45rem;margin-bottom:.5rem}.planner-day-name{font-size:.66rem;letter-spacing:.08em;color:var(--lumo-secondary-text-color)}.planner-day-number{font-size:1rem;font-weight:800;color:var(--lumo-header-text-color)}.planner-session-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.28rem .45rem;align-items:start;padding:.55rem .65rem;border-radius:.95rem;border:1px solid rgba(154,145,140,.24);background:#ffffffe6;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.planner-session-card-content{display:flex;flex-direction:column;gap:.28rem;min-width:0}.planner-session-card:hover{transform:translateY(-1px);box-shadow:var(--app-shadow-soft)}.planner-session-card--selected{border-color:#8b5cf66b;box-shadow:0 14px 28px #8b5cf629}.planner-card-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:.35rem;color:var(--lumo-secondary-text-color);font-size:.7rem;line-height:1.2}.planner-card-title{font-weight:700;font-size:.9rem;line-height:1.25;color:var(--lumo-header-text-color)}.planner-card-tags,.planner-group-pills,.planner-quick-actions{display:flex;flex-wrap:wrap;gap:.55rem}.planner-quick-actions{align-items:center;gap:.65rem;margin-top:.35rem}.planner-quick-actions>*{flex:1 1 12rem;min-width:12rem}.planner-card-tags{gap:.35rem}.planner-meta-pill.planner-tag--timeline{padding:.18rem .42rem;font-size:.68rem;line-height:1.1}.planner-meta-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .78rem;border-radius:var(--app-radius-pill);background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text);font-size:.8rem;font-weight:700}.planner-session-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.45rem}.planner-panel-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.planner-panel-title-group{display:flex;align-items:center;gap:.65rem;flex:1 1 auto;min-width:0}.planner-panel-title-meta{display:flex;align-items:center;flex-wrap:wrap;flex:1 1 auto;gap:.45rem;min-width:0}.planner-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:.78rem;color:#8655f6;background:radial-gradient(circle at top left,rgba(255,255,255,.88),transparent 35%),linear-gradient(135deg,#8655f624,#ec4b921f);box-shadow:inset 0 1px #ffffff9e}.planner-panel-title{margin:0;font-size:1.05rem;font-weight:700}vaadin-combo-box.planner-status-select{min-width:9.5rem;--vaadin-input-field-background: var(--app-panel-overlay);--vaadin-input-field-border-color: var(--app-status-success-soft);--vaadin-input-field-border-radius: var(--app-radius-pill);--vaadin-input-field-focused-highlight-color: var(--app-surface-lilac-soft-border)}vaadin-combo-box.planner-status-select::part(input-field){min-height:2.4rem;box-shadow:inset 0 1px 0 var(--app-panel-overlay-muted)}vaadin-combo-box.planner-status-select::part(value),vaadin-combo-box.planner-status-select::part(toggle-button){color:#166534;font-weight:700}.planner-status-dot{width:.55rem;height:.55rem;border-radius:999px;background:#22c55e;box-shadow:0 0 0 .22rem #22c55e24}.planner-status-dot[data-status=confirmed],vaadin-combo-box.planner-status-select[data-status=confirmed]{background:#0ea5e9;--vaadin-input-field-border-color: rgba(14, 165, 233, .18)}.planner-status-dot[data-status=completed],vaadin-combo-box.planner-status-select[data-status=completed]{background:#f97316;--vaadin-input-field-border-color: rgba(249, 115, 22, .18)}.planner-status-dot[data-status=cancelled],vaadin-combo-box.planner-status-select[data-status=cancelled]{background:#ef4444;--vaadin-input-field-border-color: rgba(239, 68, 68, .18)}.planner-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .75rem}.planner-field-tile{min-width:0}.planner-field-tile>*{width:100%}.planner-session-grid vaadin-text-field,.planner-session-grid vaadin-date-picker,.planner-session-grid vaadin-combo-box,.planner-session-grid vaadin-multi-select-combo-box{--vaadin-input-field-height: 2.05rem}.planner-session-grid vaadin-text-field::part(input-field),.planner-session-grid vaadin-date-picker::part(input-field),.planner-session-grid vaadin-combo-box::part(input-field),.planner-session-grid vaadin-multi-select-combo-box::part(input-field){min-height:2.05rem;padding-inline:.7rem}.planner-duration-pill{padding:.22rem .56rem;background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text);font-size:.74rem;line-height:1.1;margin-inline-start:auto}vaadin-multi-select-combo-box.planner-group-select{--app-multi-select-chip-background: var(--app-surface-lilac-soft);--app-multi-select-chip-border-color: var(--app-surface-lilac-soft-border);--app-multi-select-chip-text: var(--app-surface-lilac-text);--app-multi-select-chip-radius: 999px}.planner-status-pill[data-status=planned]{background:var(--app-status-success-soft);color:var(--app-status-success-text)}.planner-status-pill[data-status=confirmed]{background:var(--app-status-info-soft);color:var(--app-status-info-text)}.planner-status-pill[data-status=completed]{background:var(--app-status-warning-soft);color:var(--app-status-warning-text)}.planner-status-pill[data-status=cancelled]{background:var(--app-status-danger-soft);color:var(--app-status-danger-text)}.planner-section{display:flex;flex-direction:column;gap:.65rem;margin-top:.95rem}.planner-section-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.planner-section-title-row{display:inline-flex;align-items:center;gap:.55rem}.planner-section-label{font-size:.95rem;font-weight:700}.planner-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .55rem;border-radius:999px;background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text);font-size:.82rem;font-weight:700}.planner-exercise-list{display:flex;flex-direction:column;gap:.75rem}.planner-exercise-card{display:flex;flex-direction:column;gap:.85rem;padding:1rem;border-radius:var(--app-radius-xl);border:1px solid rgba(229,217,243,.9);background:#fffffff0;box-shadow:0 10px 24px #4c396f14;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.planner-exercise-card:hover{transform:translateY(-1px);box-shadow:0 16px 30px #4c396f1f}.planner-exercise-header{display:flex;align-items:center;gap:.8rem}.planner-reorder-handle-shell{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:.9rem;color:var(--lumo-secondary-text-color);background:#f8f4fceb;cursor:grab}.planner-exercise-icon-shell{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border-radius:1rem;background:linear-gradient(135deg,#8655f61f,#ec4b9214)}.planner-exercise-icon{color:#ec4899}.planner-exercise-icon-shell[data-difficulty=easy]{background:linear-gradient(135deg,#22c55e24,#bbf7d047)}.planner-exercise-icon-shell[data-difficulty=medium]{background:linear-gradient(135deg,#f9731624,#fed7aa47)}.planner-exercise-icon-shell[data-difficulty=hard]{background:linear-gradient(135deg,#ec4b9229,#fbcfe852)}.planner-exercise-body{display:flex;justify-content:space-between;gap:.8rem;flex:1 1 auto;min-width:0}.planner-exercise-copy{min-width:0}.planner-exercise-title{display:block;font-size:1rem;font-weight:700;color:var(--lumo-header-text-color)}.planner-exercise-summary{display:block;margin-top:.22rem;color:var(--lumo-secondary-text-color);font-size:.9rem;line-height:1.45}.planner-exercise-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.planner-exercise-meta-item{display:inline-flex;align-items:center;gap:.35rem;color:var(--lumo-secondary-text-color);font-size:.82rem;white-space:nowrap}.planner-exercise-meta-icon{color:#6b7280}.planner-difficulty-badge[data-difficulty=easy]{background:var(--app-status-success-soft);color:var(--app-status-success-text)}.planner-difficulty-badge[data-difficulty=medium]{background:var(--app-status-warning-soft);color:var(--app-status-warning-text)}.planner-difficulty-badge[data-difficulty=hard]{background:var(--app-status-attention-soft);color:var(--app-status-attention-text)}.planner-exercise-actions{display:flex;gap:.4rem;margin-left:auto}vaadin-button.planner-icon-button{--vaadin-button-background: var(--app-panel-overlay);--vaadin-button-border: 1px solid rgba(229, 217, 243, .92);--vaadin-button-border-radius: .95rem;--vaadin-button-min-width: 2.4rem;--vaadin-button-height: 2.4rem;--vaadin-button-padding: 0;box-shadow:0 8px 16px #4c396f0f}vaadin-button.planner-icon-button:hover{--vaadin-button-border: 1px solid var(--app-surface-lilac-soft-border)}vaadin-button.planner-session-delete-button{align-self:start}vaadin-button.planner-icon-button:last-child{--vaadin-button-text-color: var(--app-status-danger-text)}.planner-exercise-form{padding-top:.85rem;border-top:1px solid rgba(229,217,243,.72)}.planner-drop-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem;border-radius:var(--app-radius-l);border:1px dashed rgba(134,85,246,.3);color:var(--app-surface-lilac-text);background:#8655f60d}.planner-shortcut-chip,.planner-action-button{border-radius:var(--app-radius-l)}vaadin-button.planner-shortcut-chip{--vaadin-button-background: var(--app-surface-lilac-soft);--vaadin-button-border: 0;--vaadin-button-padding: .4rem .8rem;--vaadin-button-min-width: 0;--vaadin-button-height: auto;--vaadin-button-text-color: var(--app-surface-lilac-text);box-shadow:none}vaadin-button.planner-add-chip-action{--vaadin-button-background: transparent;--vaadin-button-border: 0;--vaadin-button-padding: .35rem 0;--vaadin-button-min-width: 0;--vaadin-button-height: auto;--vaadin-button-text-color: #8655f6;box-shadow:none}vaadin-button.planner-add-chip-action:hover{--vaadin-button-background: transparent;--vaadin-button-border: 0;transform:none;box-shadow:none}vaadin-button.planner-action-button{--vaadin-button-min-width: 0;width:100%}vaadin-button.planner-action-button::part(label){display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.42rem}vaadin-button.planner-action-button::part(prefix){margin-inline-end:.1rem;color:inherit}.planner-empty-card{padding:1.2rem}.planner-exercise-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.planner-footer-meta{margin:0;color:var(--lumo-secondary-text-color);font-size:.88rem}.planner-footer-state{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;min-height:1.2rem}.planner-footer-state[data-state=inactive],.planner-footer-state[data-state=ready]{visibility:hidden}.planner-footer-state[data-state=saving]{color:#8655f6;visibility:visible}.planner-footer-state[data-state=saved]{color:var(--app-status-success-text);visibility:visible}.planner-footer-state[data-state=error]{color:var(--app-status-danger-text);visibility:visible}.planner-footer-state-icon[data-state=saving]{color:#8655f6}.planner-footer-state-icon[data-state=saved]{color:var(--app-status-success-text)}.planner-footer-state-icon[data-state=error]{color:var(--app-status-danger-text)}vaadin-app-layout[theme~=dark] .planner-day-column,vaadin-app-layout[theme~=dark] .planner-session-card,vaadin-app-layout[theme~=dark] .planner-exercise-card,vaadin-app-layout[theme~=dark] .planner-drop-hint{box-shadow:var(--app-shadow-soft)}vaadin-app-layout[theme~=dark] .planner-day-column,vaadin-app-layout[theme~=dark] .planner-session-card,vaadin-app-layout[theme~=dark] .planner-exercise-card{background:#37312ee6;border-color:#57534ef5}vaadin-app-layout[theme~=dark] .planner-drop-hint{background:#8b5cf61f}vaadin-app-layout[theme~=dark] .planner-week-icon{color:#d6d3d1}vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-toolbar-select{--vaadin-input-field-background: var(--app-panel-overlay);--vaadin-input-field-border-color: rgba(120, 113, 108, .88);--vaadin-input-field-label-color: var(--app-surface-neutral-text)}vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-toolbar-select::part(value),vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-toolbar-select::part(toggle-button){color:#f5f5f4}vaadin-app-layout[theme~=dark] vaadin-button.planner-ghost-action{--vaadin-button-background: var(--app-panel-overlay);--vaadin-button-border: 1px solid rgba(87, 83, 78, .96);color:#f5f5f4;box-shadow:none}vaadin-app-layout[theme~=dark] .planner-field-tile--derived,vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-status-select,vaadin-app-layout[theme~=dark] vaadin-button.planner-icon-button{box-shadow:none}vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-status-select{--vaadin-input-field-background: var(--app-panel-overlay);--vaadin-input-field-border-color: rgba(87, 83, 78, .96)}vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-status-select::part(input-field){box-shadow:none}vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-status-select::part(value),vaadin-app-layout[theme~=dark] vaadin-combo-box.planner-status-select::part(toggle-button){color:#f5f5f4}vaadin-app-layout[theme~=dark] vaadin-button.planner-icon-button{--vaadin-button-background: var(--app-panel-overlay);--vaadin-button-border: 1px solid rgba(87, 83, 78, .96);color:#f5f5f4}vaadin-app-layout[theme~=dark] .planner-reorder-handle-shell,vaadin-app-layout[theme~=dark] .planner-exercise-icon-shell{background:#383330eb}vaadin-app-layout[theme~=dark] .planner-footer-meta,vaadin-app-layout[theme~=dark] .planner-exercise-summary,vaadin-app-layout[theme~=dark] .planner-exercise-meta-item{color:#e7e5e4bd}@media(max-width:1100px){.planner-workspace{grid-template-columns:1fr}.planner-toolbar-card{padding:1.35rem}.planner-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.planner-toolbar-meta,.planner-toolbar-controls,.planner-toolbar-filters,.planner-toolbar-actions{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.planner-week-nav{flex-direction:row;flex-wrap:nowrap;align-items:stretch;width:100%}.planner-week-range{padding-inline-start:0;border-inline-start:0}.planner-week-nav>*{flex:1 1 0;min-width:0}vaadin-combo-box.planner-toolbar-select,vaadin-button.planner-toolbar-primary-action{width:100%}.planner-quick-actions{flex-direction:column;align-items:stretch}.planner-quick-actions>*{flex:0 0 auto;min-width:0;width:100%}.planner-panel-header,.planner-exercise-header,.planner-exercise-body{flex-direction:column;align-items:stretch}.planner-session-grid{grid-template-columns:1fr}vaadin-combo-box.planner-status-select{width:100%}}.team-workspace>*:first-child{flex:0 0 31rem}.team-roster-panel,.team-detail-panel{min-height:48rem;overflow:hidden}.team-roster-panel{padding:.9rem;gap:.75rem}.team-toolbar{gap:.75rem;flex-wrap:wrap}.team-toolbar>vaadin-combo-box{flex:1 1 10rem;min-width:10rem;max-width:11.5rem}.team-toolbar>vaadin-text-field{flex:1 1 16rem;min-width:14rem}.team-toolbar>vaadin-button{flex:0 0 auto}.team-grid{box-shadow:none;--vaadin-grid-cell-padding: var(--app-table-compact-cell-padding);font-size:.92rem;width:100%;max-width:100%}.team-grid::part(header-cell){font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.team-detail-panel{padding:1.25rem 0 0;gap:.95rem}.team-detail-header,.team-detail-sections,.team-footer-actions{padding-inline:1.4rem}.team-detail-header{gap:1rem;padding-bottom:.45rem;border-bottom:1px solid var(--app-border)}.team-detail-summary{display:flex;flex-direction:column;gap:.45rem;min-width:0}.team-detail-summary h3{margin:0;font-size:clamp(1.55rem,2vw,1.95rem);line-height:1.08}.team-detail-summary p{margin:0;color:var(--lumo-secondary-text-color)}.team-summary-chips{gap:.45rem;flex-wrap:wrap}.team-detail-sections{gap:1rem;padding-bottom:.75rem}.team-section{gap:.8rem}.team-section h4{margin:0;font-size:.95rem}.team-section vaadin-form-layout,.team-section vaadin-grid,.team-section vaadin-text-field,.team-section vaadin-combo-box,.team-section vaadin-integer-field{width:100%}.team-footer-actions{align-items:center;gap:.75rem;margin-top:auto;padding-top:.95rem;padding-bottom:1.25rem;border-top:1px solid var(--app-border)}.team-footer-actions>*{min-width:0}@media(max-width:1100px){.team-roster-panel,.team-detail-panel{min-height:0}}@media(max-width:700px){.team-roster-panel{padding-inline:1rem}.team-detail-panel{padding-top:1rem}.team-detail-header,.team-detail-sections,.team-footer-actions{padding-inline:1rem}.team-toolbar>vaadin-combo-box,.team-toolbar>vaadin-text-field,.team-toolbar>vaadin-button{flex:0 0 auto;min-width:0;max-width:none;width:100%}}.match-list-panel{padding:1rem;gap:.75rem}.match-toolbar{gap:.75rem;flex-wrap:wrap}.match-toolbar>vaadin-combo-box{flex:1 1 10rem;min-width:10rem;max-width:11.5rem}.match-toolbar>vaadin-text-field{flex:1 1 16rem;min-width:14rem}.match-toolbar>vaadin-button{flex:0 0 auto}.match-grid{box-shadow:none;--vaadin-grid-cell-padding: var(--app-table-compact-cell-padding);font-size:.92rem;width:100%;max-width:100%}.match-grid::part(header-cell){font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.my-matches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem;width:100%}.my-match-card{padding:1rem;gap:.75rem;height:100%}.my-match-card>*{min-width:0}.my-match-card h4,.my-match-meta{margin:0}.my-match-player-list{gap:.45rem;flex-wrap:wrap}.my-match-card vaadin-button{align-self:flex-start}.match-detail-header{gap:1rem;align-items:flex-start}.match-detail-header>div:first-child{flex:1 1 auto;min-width:0}.match-detail-actions{gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.match-detail-stack{gap:1rem}.match-section-card{padding:1rem 1.15rem;gap:.85rem}.match-section-card>*{min-width:0}.match-section-card h4,.match-chat-body{margin:0}.match-section-card h4{font-size:.95rem}.match-section-card vaadin-form-layout,.match-section-card vaadin-grid,.match-section-card vaadin-text-field,.match-section-card vaadin-text-area,.match-section-card vaadin-integer-field,.match-section-card vaadin-combo-box,.match-section-card vaadin-date-picker,.match-section-card vaadin-time-picker,.match-section-card vaadin-multi-select-combo-box{width:100%}.match-lineup-selectors{gap:.75rem}.match-lineup-selectors>*{min-width:0}.match-detail-grid{box-shadow:none;--vaadin-grid-cell-padding: var(--app-table-compact-cell-padding);font-size:.92rem;width:100%;max-width:100%}.match-detail-grid::part(header-cell){font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.match-metadata-grid{display:grid;gap:.35rem}.match-metadata-row{display:grid;grid-template-columns:minmax(9rem,13rem) minmax(0,1fr);gap:.75rem;align-items:start;padding:.55rem 0;border-top:1px solid var(--app-border)}.match-metadata-row:first-child{padding-top:0;border-top:none}.match-metadata-row>span:first-child{color:var(--lumo-secondary-text-color);font-weight:600}.match-chat-feed{gap:.75rem}.match-chat-message{padding:.85rem 1rem;gap:.55rem;border:1px solid var(--app-border);border-radius:var(--app-radius-l);background:var(--app-surface-muted)}.match-chat-meta{color:var(--lumo-secondary-text-color);font-size:.88rem}@media(max-width:700px){.match-toolbar>vaadin-combo-box,.match-toolbar>vaadin-text-field,.match-toolbar>vaadin-button{flex:0 0 auto;min-width:0;max-width:none;width:100%}.my-matches-grid{grid-template-columns:1fr}.match-detail-header,.match-detail-actions,.match-lineup-selectors{flex-direction:column;align-items:stretch}.match-detail-actions>*,.match-lineup-selectors>*{width:100%!important;max-width:none;min-width:0}.match-section-card{padding:1rem}.match-metadata-row{grid-template-columns:1fr;gap:.25rem}}.assistant-consent-card,.assistant-result-card{width:min(100%,42rem);margin:0 auto;padding:1.4rem 1.5rem;gap:.9rem}.assistant-consent-card>*,.assistant-result-card>*{min-width:0}.assistant-consent-copy,.assistant-consent-meta-line,.assistant-consent-scope-label,.assistant-result-copy,.assistant-result-help{margin:0}.assistant-consent-meta,.assistant-result-meta,.assistant-consent-scope-block{gap:.55rem}.assistant-consent-meta-line,.assistant-consent-scope-label,.assistant-result-help{color:var(--lumo-secondary-text-color)}.assistant-consent-scope-label{font-weight:700}.assistant-consent-scope-list,.assistant-consent-actions,.assistant-result-actions{gap:.75rem;flex-wrap:wrap}.assistant-consent-scope-list{gap:.45rem}.assistant-result-status{align-self:flex-start}.assistant-consent-status--approved{background:var(--app-status-success-soft);color:var(--app-text)}.assistant-consent-status--denied{background:var(--app-status-warning-soft);color:var(--app-text)}.assistant-grants-card{width:100%}.assistant-grants-grid{width:100%;max-width:100%;--vaadin-grid-cell-padding: var(--app-table-compact-cell-padding);font-size:.92rem}.assistant-grants-grid::part(header-cell){white-space:nowrap}.assistant-grants-empty{margin:0;color:var(--lumo-secondary-text-color)}.reports-workspace-card{width:100%;padding:1rem;gap:1rem}.reports-kpi-row{flex-wrap:wrap;gap:.85rem}.reports-kpi-card{min-width:10rem;flex:1 1 10rem;padding:.95rem 1rem;gap:.35rem;border:1px solid var(--app-border);background:var(--app-surface-muted);box-shadow:var(--app-shadow-soft)}.reports-kpi-label{color:var(--lumo-secondary-text-color);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.reports-kpi-value{color:var(--lumo-header-text-color);font-family:var(--lumo-primary-font-family);font-size:clamp(1.8rem,3vw,2.35rem);font-weight:800;letter-spacing:-.04em;line-height:1}.reports-chart-card{width:100%;padding:1rem 1.05rem}.reports-chart-title{display:block;margin-bottom:.85rem;color:var(--lumo-header-text-color);font-size:1rem;font-weight:800}.reports-bar-chart{display:flex;flex-direction:column;gap:.8rem}.reports-bar-row{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;gap:.8rem;align-items:center}.reports-bar-label{color:var(--lumo-body-text-color);font-weight:600}.reports-bar-track{width:100%;height:.85rem;border-radius:999px;background:var(--app-surface-lilac-soft);overflow:hidden}.reports-bar-fill{width:var(--reports-bar-size, 0%);height:100%;border-radius:999px;background:linear-gradient(90deg,var(--app-primary),var(--app-secondary))}.reports-bar-value{min-width:2.75rem;color:var(--lumo-header-text-color);font-weight:700;text-align:right}@media(max-width:860px){.reports-bar-row{grid-template-columns:minmax(0,1fr)}.reports-bar-value{text-align:left}}.public-club-shell{gap:1.5rem}.public-layout{align-items:flex-start;gap:1.5rem}.public-main-column{min-width:0}.public-hero{position:relative;overflow:hidden;gap:1rem;background:radial-gradient(circle at top right,rgba(236,75,146,.16),transparent 30%),radial-gradient(circle at top left,rgba(168,85,247,.12),transparent 24%),linear-gradient(135deg,#fffffff0,#fff6edeb)}vaadin-app-layout[theme~=dark] .public-hero{background:radial-gradient(circle at top right,rgba(236,75,146,.14),transparent 30%),radial-gradient(circle at top left,rgba(168,85,247,.14),transparent 24%),linear-gradient(135deg,#292524f5,#1f1a17f0)}.public-club-logo{width:72px;height:72px;object-fit:cover;border-radius:var(--app-radius-l);box-shadow:0 14px 28px #4c396f24}.public-hero-copy{max-width:56rem;margin:0;font-size:1.02rem;line-height:1.6}.public-hero-actions{flex-wrap:wrap}.public-meta-row{display:flex;flex-wrap:wrap;gap:.75rem}.public-meta-chip{display:inline-flex;align-items:center;padding:.55rem .9rem;border-radius:var(--app-radius-pill);background:var(--app-surface-lilac-soft);color:var(--app-surface-lilac-text);font-weight:700}.public-section{gap:1rem}.public-section>p:first-of-type{margin:0;color:var(--lumo-secondary-text-color)}.public-event-card,.public-standing-row{border:1px solid var(--app-border);background:var(--app-surface-muted);box-shadow:var(--app-shadow-soft);padding:1rem 1.05rem;border-radius:var(--app-radius-l);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.public-event-card:hover,.public-standing-row:hover{transform:translateY(-2px);border-color:var(--app-border-strong);box-shadow:var(--app-shadow-lifted)}vaadin-app-layout[theme~=dark] .public-event-card,vaadin-app-layout[theme~=dark] .public-standing-row{box-shadow:var(--app-shadow-soft)}.public-event-team{font-family:var(--lumo-primary-font-family);font-size:1.04rem;font-weight:700;color:var(--lumo-header-text-color)}.public-event-meta,.public-standing-row p{color:var(--lumo-secondary-text-color);font-size:.94rem;line-height:1.45}.public-event-opponent{margin:.18rem 0;font-size:1.08rem;font-weight:700}.public-score-pill{display:inline-flex;margin-top:.4rem;padding:.42rem .8rem;border-radius:var(--app-radius-pill);background:linear-gradient(135deg,#8655f629,#ec4b922e);color:var(--app-surface-lilac-text);font-weight:800}.public-standing-league{color:var(--lumo-secondary-text-color);font-weight:600}.public-invite-panel{position:sticky;top:var(--lumo-space-l);width:min(380px,100%);flex:0 0 380px}.public-invite-form{width:100%}.public-brand-footer{padding-bottom:var(--lumo-space-l);text-align:center;font-weight:700;color:var(--lumo-secondary-text-color)}@media(max-width:1100px){.public-layout{flex-direction:column}.public-invite-panel{position:static;width:100%;flex:1 1 auto}}.h2h-workspace{display:flex;flex-direction:row;align-items:stretch;gap:1.25rem;width:100%}.h2h-workspace>*:first-child{flex:0 0 42%}.h2h-list-column{min-height:48rem;display:flex;flex-direction:column;gap:.95rem;overflow:hidden;min-width:0}.h2h-detail-column{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.1rem;min-height:48rem}.h2h-dossier-grid{box-shadow:none;--vaadin-grid-cell-padding: var(--app-table-compact-cell-padding);font-size:.92rem;min-height:27.5rem}.h2h-dossier-grid::part(header-cell){font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.h2h-back-button{display:none!important}.h2h-tab-panel{display:flex;flex-direction:column;gap:1.1rem;width:100%;margin-top:.5rem}.h2h-workspace .surface-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.h2h-workspace .surface-card:hover{border-color:var(--app-border-strong);box-shadow:var(--app-shadow-lifted)}.h2h-dossier-card{cursor:pointer}.h2h-dossier-card--selected{border:2px solid var(--lumo-primary-color)!important}.h2h-card-header{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.75rem;flex-wrap:wrap}.h2h-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.35rem;width:100%}.h2h-actions-row vaadin-button{flex:1 1 auto;min-width:8.5rem}.h2h-filter-bar{align-items:flex-end;gap:.75rem;flex-wrap:wrap}.h2h-filter-search{flex:1 1 18rem;min-width:14rem}.h2h-filter-player{flex:0 1 16rem;min-width:12rem;max-width:16rem}@media(max-width:600px){.h2h-card-header,.h2h-actions-row{flex-direction:column;align-items:stretch}.h2h-actions-row vaadin-button{width:100%}.h2h-filter-bar{flex-direction:column;align-items:stretch}.h2h-filter-search,.h2h-filter-player{flex:0 0 auto;width:100%!important;max-width:none;min-width:0}.h2h-filter-bar>.pill-chip{width:auto!important;min-width:0;align-self:flex-start}}@media(max-width:900px){.h2h-workspace{flex-direction:column;gap:0}.h2h-workspace>*:first-child{flex:1 1 auto!important}.h2h-workspace .h2h-list-column{display:flex;flex:1 1 auto;width:100%!important;min-width:0}.h2h-workspace .h2h-detail-column,.h2h-workspace.h2h-dossier-selected .h2h-list-column{display:none}.h2h-workspace.h2h-dossier-selected .h2h-detail-column{display:flex;flex:1 1 auto;width:100%!important;min-width:0}.h2h-back-button{display:inline-flex!important;align-self:flex-start;margin-bottom:.5rem}}@media(max-width:1100px){.content-split{flex-direction:column}.content-split>*:first-child{flex:1 1 auto}}@media(max-width:700px){vaadin-grid{--vaadin-grid-cell-padding: var(--app-table-mobile-cell-padding);--lumo-size-m: var(--app-table-mobile-control-size)}.player-roster-toolbar,.team-toolbar,.match-toolbar,.player-footer-actions,.team-footer-actions,.club-admin-form{flex-direction:column;align-items:stretch;gap:.75rem}.player-roster-toolbar>*,.team-toolbar>*,.match-toolbar>*,.player-footer-actions>*,.team-footer-actions>*,.club-admin-form>*{width:100%!important;max-width:none;min-width:0}.player-roster-grid,.player-relationship-grid,.player-group-grid,.team-roster-grid,.tournament-list-grid,.tournament-section-card vaadin-grid{--vaadin-grid-cell-padding: var(--app-table-compact-mobile-cell-padding)}.view-shell{padding:1.25rem 1rem 2rem}.public-app-header{padding:.75rem 1rem}.app-header{padding:.65rem .9rem}.app-header-controls{gap:.5rem}}
