:root{color-scheme:light;--bg: #e8eaef;--surface: #f2f3f7;--surface-soft: #e0e3ea;--surface-strong: #d2d6df;--table-bg: #ffffff;--group-card-bg: #ffffff;--bg-elevated: #f7f8fb;--border: #c0c6d4;--border-soft: #cdd2de;--text: #1b2030;--text-muted: #637088;--text-muted-strong: #445069;--accent: #3e6ec7;--accent-strong: #2e58a4;--success: #28ab70;--warning: #de9d34;--danger: #d62020;--shadow: 0 1px 3px rgba(20, 30, 70, 0.08), 0 4px 16px rgba(20, 30, 70, 0.05);--radius: 8px;--fs-hero: clamp(2.1rem, 2.4vw, 2.5rem);--fs-heading: clamp(1.5rem, 1.8vw, 1.85rem);--fs-large: 1.4rem;--fs-subtitle: 1.1rem;--fs-body: 0.95rem;--fs-caption: 0.75rem;--accent-glow: rgba(62, 110, 199, 0.06);--accent-tint: rgba(62, 110, 199, 0.1);--accent-focus-ring: rgba(62, 110, 199, 0.28);--accent-input-border: rgba(62, 110, 199, 0.55);--accent-selection: rgba(62, 110, 199, 0.18);--success-bg: rgba(40, 171, 112, 0.1);--success-text: #1c5c38;--danger-bg: rgba(214, 32, 32, 0.09);--danger-bg-hover: rgba(214, 32, 32, 0.15);--danger-text: #7a1e1e;--overlay-subtle: rgba(20, 30, 60, 0.02);--overlay-soft: rgba(20, 30, 60, 0.03);--overlay-hover: rgba(20, 30, 60, 0.05);--overlay-divider: rgba(20, 30, 60, 0.07);--overlay-border: rgba(20, 30, 60, 0.09);--overlay-active: rgba(20, 30, 60, 0.12);--row-hover: rgba(20, 30, 60, 0.05)}:root[data-theme=dark]{color-scheme:dark;--bg: #171d28;--surface: #1f2838;--surface-soft: #293140;--surface-strong: #35404f;--table-bg: #222b3b;--group-card-bg: #232c3c;--bg-elevated: #1b2230;--border: #3d4a63;--border-soft: #334154;--text: #eaeef5;--text-muted: #adb5c4;--text-muted-strong: #c4cad8;--accent: #7495db;--accent-strong: #90a4ce;--success: #5ea68c;--warning: #c09550;--danger: #d67a7a;--shadow: 0 1px 3px rgba(0, 0, 0, 0.22), 0 4px 16px rgba(0, 0, 0, 0.15);--accent-glow: rgba(128, 150, 196, 0.1);--accent-tint: rgba(128, 150, 196, 0.14);--accent-focus-ring: rgba(128, 150, 196, 0.3);--accent-input-border: rgba(128, 150, 196, 0.5);--accent-selection: rgba(128, 150, 196, 0.18);--success-bg: rgba(94, 166, 140, 0.25);--success-text: #bbd2c3;--danger-bg: rgba(214, 122, 122, 0.25);--danger-bg-hover: rgba(214, 122, 122, 0.24);--danger-text: #ecbebe;--overlay-subtle: rgba(255, 255, 255, 0.05);--overlay-soft: rgba(255, 255, 255, 0.08);--overlay-hover: rgba(255, 255, 255, 0.12);--row-hover: rgba(255, 255, 255, 0.05);--overlay-divider: rgba(255, 255, 255, 0.16);--overlay-border: rgba(255, 255, 255, 0.22);--overlay-active: rgba(255, 255, 255, 0.24)}*{box-sizing:border-box}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:100%;line-height:1.55;color:var(--text);background:radial-gradient(ellipse 80% 40% at 50% -10%, var(--accent-glow), transparent 60%),var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-size:var(--fs-body)}body,button,input,select,textarea{font:inherit}img,svg{max-width:100%}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{color:var(--text)}button,input[type=submit],input[type=button]{font:inherit;cursor:pointer}button,input,select,textarea{outline:none;border-radius:6px}::selection{background:var(--accent-selection);color:var(--text)}h1,h2,h3,h4,h5{color:var(--text);margin-top:0}h1{font-size:var(--fs-hero)}h2{font-size:var(--fs-heading)}p{color:var(--text-muted);margin-top:.75rem}header.app-header{padding:clamp(1rem,2vw,1.4rem) 1.5rem;background:var(--bg-elevated);border-bottom:1px solid var(--border);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}nav.app-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem}main.main-content{width:100%;max-width:none;margin:2rem 0 3rem;padding:0 1.5rem}.login-page{display:flex;justify-content:center;align-items:flex-start;padding-top:4rem}.login-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);width:100%;max-width:420px}.login-card__header{text-align:center;padding:1.5rem 1.5rem 0}.login-card__title{font-size:var(--fs-large);font-weight:700;color:var(--text);margin:0 0 .35rem}.login-card__logo{width:5.2rem;height:5.2rem;margin:0 auto 1.25rem;border-radius:999rem;background:var(--surface-soft);color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.login-card__logo-image{width:90%;height:90%;object-fit:contain}.login-card__subtitle{font-size:var(--fs-body);color:var(--text-muted);margin:0 0 .35rem}.oauth-login .btn-secondary{display:inline-flex;align-items:center;gap:.6rem}.discord-icon{display:inline-flex;width:1.2rem;height:1.2rem}.discord-icon svg{width:100%;height:100%}.login-divider{display:flex;align-items:center;gap:1rem;color:var(--text-muted);font-size:var(--fs-caption)}.login-divider::before,.login-divider::after{content:"";flex:1;height:1px;background:var(--border)}.btn-full{width:100%;justify-content:center}.form-actions .btn-full,.form-actions input[type=submit].btn-full,.form-actions button.btn-full{width:100%}footer.app-footer{padding:.75rem 1.5rem}.footer-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:var(--fs-caption);color:var(--text-muted)}.footer-line__left{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.footer-line__separator{color:var(--border)}.footer-line__right{display:flex;align-items:center;margin-left:auto}.version-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;font-size:var(--fs-caption);color:var(--text-muted);background:rgba(0,0,0,0);border:1px solid var(--border-soft);border-radius:999px;cursor:pointer;transition:color 150ms ease,border-color 150ms ease,background 150ms ease;line-height:1.5}.version-badge:hover{color:var(--accent);border-color:var(--accent-input-border);background:var(--accent-glow)}.version-badge:focus-visible{outline:2px solid var(--accent-focus-ring);outline-offset:3px}@media(forced-colors: active){.version-badge{border:1px solid ButtonBorder;outline:2px solid rgba(0,0,0,0)}}.changelog-dialog{border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px rgba(20,30,60,.14);background:var(--surface);padding:0;min-width:320px;max-width:520px;width:100%}.changelog-dialog::backdrop{background:rgba(20,30,60,.3)}.changelog-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem .75rem;border-bottom:1px solid var(--border)}.changelog-dialog__title{font-size:var(--fs-body);font-weight:700;color:var(--text);margin:0}.changelog-dialog__close{background:none;border:none;font-size:var(--fs-subtitle);color:var(--text-muted);border-radius:6px;cursor:pointer;padding:0 .35rem;line-height:1;transition:color 150ms ease,background 150ms ease}.changelog-dialog__close:hover{color:var(--text);background:var(--overlay-hover)}.changelog-dialog__close:focus-visible{outline:2px solid var(--accent-focus-ring);outline-offset:3px}.changelog-dialog__body{padding:1.5rem;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.changelog-release{display:flex;flex-direction:column;gap:.5rem}.changelog-release__meta{display:flex;align-items:baseline;gap:.75rem}.changelog-release__version{font-size:var(--fs-body);font-weight:700;color:var(--text)}.changelog-release__date{font-size:var(--fs-caption);color:var(--text-muted)}.changelog-release__list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.changelog-release__item{font-size:var(--fs-caption);color:var(--text-muted);line-height:1.5}@media(max-width: 480px){.footer-line{flex-wrap:nowrap;align-items:center}.footer-line__left{flex-wrap:wrap}.changelog-dialog{min-width:0;width:calc(100vw - 2rem);margin:auto 1rem}}.nav-brand-link{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none}.nav-brand-link span{font-size:var(--fs-subtitle);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.nav-brand__logo{width:2.4rem;height:2.4rem;border-radius:.75rem;object-fit:contain}.nav-brand a,.nav-brand span{font-size:var(--fs-subtitle);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.nav-user{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.nav-avatar,.nav-avatar-link{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:999rem;overflow:hidden;background:var(--surface-soft);color:var(--text-muted);font-size:.95rem;font-weight:700}.nav-avatar img{display:block;width:100%;height:100%;object-fit:cover}.nav-avatar-link{border:1px solid rgba(0,0,0,0);transition:border-color 150ms ease}.nav-avatar-link:hover{border-color:var(--accent)}.nav-user span{color:var(--text-muted);font-size:var(--fs-body)}.nav-user strong{color:var(--text);font-weight:700}.logout-button{background:rgba(0,0,0,0);border-color:var(--border-soft);color:var(--text-muted-strong);padding:.7rem 1rem}.logout-button:hover{background:var(--overlay-soft);color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;gap:.55rem;padding:.3rem .5rem;border:1px solid var(--border-soft);border-radius:999px;background:rgba(0,0,0,0);color:var(--text-muted-strong);font-size:var(--fs-caption);line-height:1;cursor:pointer;transition:border-color 180ms ease,background-color 180ms ease,color 180ms ease}.theme-toggle:hover,.theme-toggle:focus-visible,.theme-toggle:active{background:var(--overlay-soft);color:var(--text);transform:none}.theme-toggle__track{position:relative;width:3rem;height:1.5rem;border-radius:999px;background:var(--surface-soft);transition:background-color 180ms ease}.theme-toggle__thumb{position:absolute;top:.2rem;left:.2rem;width:1.1rem;height:1.1rem;border-radius:999px;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.12);transition:transform 180ms ease ease,background-color 180ms ease ease}.theme-toggle[aria-pressed=true]{color:var(--text);border-color:var(--accent)}.theme-toggle[aria-pressed=true] .theme-toggle__track{background:var(--accent)}.theme-toggle[aria-pressed=true] .theme-toggle__thumb{transform:translateX(1.5rem)}.theme-toggle__label{font-size:var(--fs-caption);color:inherit}.theme-toggle__icon{width:1.4rem;height:1.4rem;display:inline-block;object-fit:contain;color:var(--text-muted-strong);pointer-events:none}.theme-toggle__icon--dark{display:none;color:#7495db}.theme-toggle[aria-pressed=true] .theme-toggle__icon--light{display:none}.theme-toggle[aria-pressed=true] .theme-toggle__icon--dark{display:inline-block}button,input[type=submit]{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1.25rem;border-radius:6px;font-size:var(--fs-body);font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer;border:1px solid rgba(0,0,0,0);transition:transform 150ms ease,background-color 150ms ease,border-color 150ms ease,color 150ms ease;background:var(--accent);color:#f0f4fa}button:hover,input[type=submit]:hover{background:var(--accent-strong);color:#f0f4fa}button:hover,input[type=submit]:hover{transform:translateY(-1px)}button:focus-visible,input[type=submit]:focus-visible,a:focus-visible{outline:2px solid var(--accent-focus-ring);outline-offset:3px}.btn-primary,input[type=submit].btn-primary{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1.1rem;border-radius:6px;font-size:var(--fs-body);font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer;border:1px solid rgba(0,0,0,0);transition:transform 150ms ease,background-color 150ms ease,border-color 150ms ease,color 150ms ease;background:var(--accent);color:#f0f4fa}.btn-primary:hover,input[type=submit].btn-primary:hover{background:var(--accent-strong);color:#f0f4fa}.btn-primary:hover,input[type=submit].btn-primary:hover{transform:translateY(-1px)}.btn-secondary,input[type=submit].btn-secondary{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1.1rem;border-radius:6px;font-size:var(--fs-body);font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;border:1px solid var(--border);transition:transform 150ms ease,background-color 150ms ease,border-color 150ms ease,color 150ms ease;background:rgba(0,0,0,0);color:var(--text-muted-strong)}.btn-secondary:hover,input[type=submit].btn-secondary:hover{background:var(--overlay-hover);color:var(--text)}.btn-danger{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1.1rem;border-radius:6px;font-size:var(--fs-body);font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;border:1px solid var(--border-soft);transition:transform 150ms ease,background-color 150ms ease,border-color 150ms ease,color 150ms ease;background:rgba(0,0,0,0);color:var(--text-muted)}.btn-danger:hover{background:var(--danger-bg-hover);color:var(--danger)}.btn-secondary-dash{display:inline-flex;align-items:center;gap:.75rem;padding:.3rem 1.1rem;border-radius:6px;font-size:var(--fs-body);font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;border:1px solid var(--border);transition:transform 150ms ease,background-color 150ms ease,border-color 150ms ease,color 150ms ease;background:rgba(0,0,0,0);color:var(--text-muted)}.btn-secondary-dash:hover{background:var(--overlay-hover);color:var(--text)}.btn-secondary-dash{vertical-align:middle}.btn-danger-dash{display:inline-flex;align-items:center;gap:.75rem;padding:.3rem 1.1rem;border-radius:6px;font-size:var(--fs-body);font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;border:1px solid var(--border);transition:transform 150ms ease,background-color 150ms ease,border-color 150ms ease,color 150ms ease;background:rgba(0,0,0,0);color:var(--text-muted)}.btn-danger-dash:hover{background:var(--danger-bg-hover);color:var(--danger)}.btn-danger-dash{vertical-align:middle}.btn-sm,input[type=submit].btn-sm{padding:.35rem .75rem;font-size:var(--fs-caption)}.pagy-navigation{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .5rem;border-radius:8px;background:rgba(0,0,0,0);border:none;flex-wrap:wrap}.pagy-navigation.pagy-navigation--top{margin-bottom:.5rem}.pagy-navigation.pagy-navigation--bottom{margin-top:.5rem}.pagy-navigation .pagy-info{font-size:var(--fs-caption);color:var(--text-muted)}.pagy-navigation .pagy-links{display:flex;gap:.35rem;flex-wrap:wrap}.pagy-navigation .btn-secondary.disabled,.pagy-navigation .btn-secondary[disabled]{cursor:default;opacity:.4;pointer-events:none}.member-save-btn{display:inline-flex;align-items:center;padding:.35rem .75rem;font-size:var(--fs-caption);font-weight:500;background:rgba(0,0,0,0);color:var(--accent);border:1px solid rgba(62,110,199,.4);border-radius:6px;cursor:pointer;transition:background 150ms ease,color 150ms ease}.member-save-btn:hover{background:rgba(62,110,199,.08)}.member-remove-btn,.rl-delete-btn{display:inline-flex;align-items:center;padding:.35rem .75rem;font-size:var(--fs-caption);font-weight:500;background:rgba(0,0,0,0);color:var(--text-muted);border:1px solid var(--border-soft);border-radius:6px;cursor:pointer;transition:background 150ms ease,color 150ms ease,border-color 150ms ease}.member-remove-btn:hover,.rl-delete-btn:hover{background:var(--danger-bg-hover);color:var(--danger);border-color:rgba(214,32,32,.25)}.rl-delete-btn{font-size:var(--fs-body);line-height:1.5}.fight-roster-toolbar{display:flex;align-items:center;justify-content:flex-end;margin-bottom:.5rem}.roster-filter-toggle{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .5rem;border:1px solid var(--accent);border-radius:999px;background:rgba(0,0,0,0);color:var(--text);font-size:var(--fs-caption);line-height:1.5;cursor:pointer;transition:border-color 180ms ease,background-color 180ms ease,color 180ms ease}.roster-filter-toggle:hover,.roster-filter-toggle:focus-visible,.roster-filter-toggle:active{background:var(--overlay-soft);transform:none}.roster-filter-toggle__track{position:relative;width:2.5rem;height:1.1rem;border-radius:999px;background:var(--accent);flex-shrink:0;transition:background-color 180ms ease}.roster-filter-toggle__thumb{position:absolute;top:.15rem;left:.15rem;width:.8rem;height:.8rem;border-radius:999px;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.12);transition:transform 180ms ease ease,background-color 180ms ease ease;transform:translateX(1.4rem)}.roster-filter-toggle__label{font-size:var(--fs-caption);color:inherit;min-width:6.5rem}.roster-filter-toggle[aria-pressed=false] .roster-filter-toggle__thumb{transform:translateX(0)}.roster-filter-toggle[aria-pressed=false] .roster-filter-toggle__track{background:var(--accent)}.roster-filter-toggle[aria-pressed=false]{border-color:var(--accent);color:var(--text)}.roster-filter-toggle:disabled,.roster-filter-toggle[disabled]{opacity:.45;cursor:not-allowed}@media(forced-colors: active){.roster-filter-toggle{border:2px solid ButtonBorder}.roster-filter-toggle__track{background:Highlight}.roster-filter-toggle__thumb{background:HighlightText}}input,select,textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:6px;transition:border-color 180ms ease,background-color 180ms ease}input:focus,select:focus,textarea:focus{border-color:var(--accent-input-border);background:var(--overlay-hover)}textarea{min-height:7rem;resize:vertical}.input-large{min-height:3.2rem;padding-top:1rem;padding-bottom:1rem}label{display:block;margin-bottom:.75rem;color:var(--text-muted-strong);font-size:var(--fs-body)}.form-label-with-note{display:inline-flex;align-items:baseline;gap:.5rem}.form-label-with-note label{display:inline-flex;margin-bottom:0}.form-label-with-note .sub-text{margin:0}.form-errors{padding:.75rem 1.25rem;margin-bottom:1.25rem;border:1px solid var(--danger);border-radius:8px;background:rgba(214,32,32,.08);color:var(--danger)}.form-errors__title{margin:0 0 .5rem;font-size:var(--fs-body);font-weight:600}.form-errors__list{margin:0;padding-left:1.2rem}.form-group{margin-bottom:1.25rem}.form-group-divider{border-top:1px solid var(--border);margin:.75rem 0}.group-owner-notes{margin-top:1.5rem}.group-owner-notes h3{margin:0 0 .5rem}.richtext-content{margin:.75rem 0 0}.form-checkbox-inline{display:inline-flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem;margin:0}.form-checkbox-inline input[type=checkbox]{width:auto;margin:0}.form-checkbox-inline span{line-height:1.15}.form-group__help{margin:0;color:var(--text-muted);font-size:var(--fs-body)}.form-section__subtitle{margin:0 0 1.25rem;color:var(--text-muted);font-size:var(--fs-body);line-height:1.5}.trix-wrapper{display:flex;flex-direction:column}trix-toolbar{background:var(--surface-strong);border:1px solid var(--border);border-radius:6px 6px 0 0;padding:.5rem .65rem;position:relative}trix-toolbar .trix-button-row{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem}trix-toolbar [data-trix-button-group]{display:flex;align-items:center;gap:.1rem;margin:0;padding:0;border:none}trix-toolbar [data-trix-dialogs]{display:none}trix-toolbar .trix-button{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;padding:0;box-sizing:border-box;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface) !important;color:var(--text-muted-strong);font:inherit;font-size:.9rem;font-weight:500;line-height:1;cursor:pointer;transform:none;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}trix-toolbar .trix-button svg{width:1rem;height:1rem;display:block;fill:currentColor;pointer-events:none}trix-toolbar .trix-button:hover{background:#dfdfdf !important;border-color:var(--border);color:var(--text);transform:none}trix-toolbar .trix-button:focus-visible{outline:2px solid var(--accent-focus-ring);outline-offset:3px}trix-toolbar .trix-button.trix-active{background:#dfdfdf !important;color:var(--accent)}trix-toolbar .trix-button.trix-active:hover{background:var(--accent-tint);color:var(--accent)}trix-toolbar .trix-button[disabled]{opacity:1.5;cursor:not-allowed;pointer-events:none}trix-toolbar .trix-dialog{position:absolute;z-index:100;left:0;right:0;top:calc(100% + 1px);background:var(--surface);border:1px solid var(--border);border-radius:0 0 6px 6px;padding:.75rem .8rem;display:flex;align-items:center;gap:.6rem;box-shadow:var(--shadow)}trix-toolbar .trix-dialog input[type=text],trix-toolbar .trix-dialog input[type=url]{flex:1;min-width:0;padding:.5rem .75rem;font-size:var(--fs-body);border:1px solid var(--border);border-radius:6px;background:var(--surface-soft);color:var(--text);transition:border-color 180ms ease}trix-toolbar .trix-dialog input[type=text]:focus,trix-toolbar .trix-dialog input[type=url]:focus{border-color:var(--accent-input-border);outline:none}trix-toolbar .trix-dialog .trix-button-group{display:flex;gap:.35rem}trix-editor{width:100%;min-height:var(--trix-editor-height, 15rem);border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;background:var(--surface);padding:1rem 1.1rem;color:var(--text);font:inherit;font-size:var(--fs-body);line-height:1.75;outline:none;transition:border-color 180ms ease,background-color 180ms ease}trix-editor .trix-content{line-height:1.75}trix-editor .trix-content>*:first-child{margin-top:0}trix-editor .trix-content>*:last-child{margin-bottom:0}trix-editor .trix-content h1{font-size:1.2rem;font-weight:700;color:var(--text);margin:1rem 0 .4rem;line-height:1.3;border-bottom:1px solid var(--border-soft);padding-bottom:.3rem}trix-editor .trix-content h2{font-size:1.05rem;font-weight:600;color:var(--text);margin:.8rem 0 .3rem;line-height:1.35}trix-editor .trix-content p{margin:0 0 .75rem}trix-editor .trix-content strong{font-weight:700;color:var(--text)}trix-editor .trix-content em{font-style:italic}trix-editor .trix-content del,trix-editor .trix-content s{text-decoration:line-through;color:var(--text-muted)}trix-editor .trix-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color 150ms ease}trix-editor .trix-content a:hover{color:var(--accent-strong)}trix-editor .trix-content ul,trix-editor .trix-content ol{margin:.4rem 0 .85rem 1.5rem;padding:0}trix-editor .trix-content ul li,trix-editor .trix-content ol li{margin-bottom:.3rem}trix-editor .trix-content ul{list-style:disc}trix-editor .trix-content ol{list-style:decimal}trix-editor .trix-content blockquote{margin:1rem 0;padding:.85rem 1rem;border-left:3px solid var(--accent);background:var(--accent-tint);border-radius:0 6px 6px 0;color:var(--text-muted-strong);font-style:italic}trix-editor .trix-content blockquote>*{margin:0}trix-editor .trix-content pre,trix-editor .trix-content code{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:.875em}trix-editor .trix-content pre{margin:.85rem 0;padding:.9rem 1rem;background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:6px;overflow-x:auto;line-height:1.55;color:var(--text)}trix-editor .trix-content code:not(pre code){padding:.15em .4em;background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:4px;color:var(--text)}trix-editor .trix-content hr{border:none;border-top:1px solid var(--border-soft);margin:1rem 0}trix-editor .trix-content .attachment{position:relative;display:inline-block}trix-editor .trix-content .attachment--preview{display:block;text-align:center;margin:.85rem 0}trix-editor .trix-content .attachment--preview img{max-width:100%;border-radius:6px;border:1px solid var(--border-soft)}trix-editor .trix-content .attachment--file{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:6px;font-size:var(--fs-caption);color:var(--text-muted-strong)}trix-editor .trix-content .attachment__caption{display:block;font-size:var(--fs-caption);color:var(--text-muted);text-align:center;margin-top:.3rem}trix-editor .trix-content .attachment__caption--editing{border-bottom:1px dashed var(--border-soft);outline:none}trix-editor .trix-content .attachment__progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--surface-strong);border-radius:0 0 6px 6px;overflow:hidden}trix-editor .trix-content .attachment__progress[value]{appearance:none}trix-editor .trix-content .attachment__progress[value]::-webkit-progress-bar{background:var(--surface-strong)}trix-editor .trix-content .attachment__progress[value]::-webkit-progress-value{background:var(--accent);transition:width .22s ease}trix-editor .trix-content .attachment__progress[value]::-moz-progress-bar{background:var(--accent)}trix-editor .trix-content figure.attachment--selected img{outline:2px solid var(--accent);outline-offset:3px}.trix-editor--short{--trix-editor-height: 10rem}.trix-editor--tall{--trix-editor-height: 22rem}[data-theme=dark] trix-toolbar{background:var(--surface-strong);border-color:gray !important}[data-theme=dark] trix-toolbar .trix-button-group{display:flex;border-width:1px;border-style:solid;border-color:#8e8e8e !important;border-radius:3px;background:var(--surface-strong);background-color:gray !important}[data-theme=dark] trix-toolbar .trix-button{background:#50596d !important;border:none !important;color:var(--text-muted-strong)}[data-theme=dark] trix-toolbar .trix-button svg path,[data-theme=dark] trix-toolbar .trix-button svg line,[data-theme=dark] trix-toolbar .trix-button svg polyline,[data-theme=dark] trix-toolbar .trix-button svg polygon,[data-theme=dark] trix-toolbar .trix-button svg rect,[data-theme=dark] trix-toolbar .trix-button svg circle{fill:var(--text-muted-strong);stroke:none}[data-theme=dark] trix-toolbar .trix-button:hover{background:#646d92 !important;color:var(--text)}[data-theme=dark] trix-toolbar .trix-button:hover svg path,[data-theme=dark] trix-toolbar .trix-button:hover svg line,[data-theme=dark] trix-toolbar .trix-button:hover svg polyline,[data-theme=dark] trix-toolbar .trix-button:hover svg polygon,[data-theme=dark] trix-toolbar .trix-button:hover svg rect,[data-theme=dark] trix-toolbar .trix-button:hover svg circle{fill:var(--text)}[data-theme=dark] trix-toolbar .trix-button.trix-active{background:#646d92 !important;color:var(--accent)}[data-theme=dark] trix-toolbar .trix-button.trix-active svg path,[data-theme=dark] trix-toolbar .trix-button.trix-active svg line,[data-theme=dark] trix-toolbar .trix-button.trix-active svg polyline,[data-theme=dark] trix-toolbar .trix-button.trix-active svg polygon,[data-theme=dark] trix-toolbar .trix-button.trix-active svg rect,[data-theme=dark] trix-toolbar .trix-button.trix-active svg circle{fill:var(--accent)}[data-theme=dark] trix-editor{background:var(--surface-soft);border-color:var(--border)}.flash-notice,.flash-alert{padding:1rem 1.1rem;margin-bottom:1.25rem;border-radius:6px;border:1px solid}.flash-notice{background:var(--success-bg);color:var(--success-text);border-color:var(--success)}.flash-alert{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius)}.section-divider{border-top:1px solid var(--border);margin:2.5rem 0}.spacer{margin:2.5rem 0}.spacer-xs{margin:.1rem 0}section.raid-appointment-definition{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem}tbody{background-color:var(--table-bg)}table.existing-appointments{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);width:100%;background:var(--surface);border:1px solid var(--border);font-size:var(--fs-body);border-collapse:separate;border-spacing:0;margin-top:1rem}table.existing-appointments th,table.existing-appointments td{padding:.95rem 1rem;border-bottom:1px solid var(--border);text-align:left;border-bottom:1px solid var(--overlay-divider)}table.existing-appointments th{font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--overlay-subtle);border-bottom:1px solid var(--border);text-align:left}table.existing-appointments tbody tr:hover{background:var(--overlay-hover)}.delete-appointment-button{font-size:var(--fs-caption);padding:.35rem .5rem;background:rgba(0,0,0,0);color:var(--text-muted-strong);border:1px solid var(--overlay-border)}.delete-appointment-button:hover{background:var(--danger-bg-hover);color:var(--danger)}.centered-cell{text-align:center !important}.group-tabs{margin-top:2rem}.group-tabs .tab-bar{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--border);gap:1rem}.group-tabs .tab-bar>.btn-secondary{margin-bottom:.25rem;flex-shrink:0}.group-tabs .tab-links{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;border-bottom:none;flex:1}.group-tabs .tab-links li{margin:0}.group-tabs .tab-links a{display:inline-flex;align-items:center;padding:.5rem 1.5rem;margin-bottom:-2px;font-size:var(--fs-body);font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid rgba(0,0,0,0);transition:color 150ms ease,border-color 150ms ease}.group-tabs .tab-links a:hover{color:var(--text);border-bottom-color:var(--border)}.group-tabs .tab-links li:first-child a,.group-tabs .tab-links li.tab-active a{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.group-tabs .tab-links li:first-child:not(.tab-active) a{color:var(--text-muted);border-bottom-color:rgba(0,0,0,0);font-weight:500}.group-tabs .tab-content{border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;background:var(--surface);box-shadow:0 2px 8px rgba(20,30,60,.04)}.group-tabs .tab-content>section{display:none;padding:1.75rem}.group-tabs:not(.js-tabs) .tab-content>section:first-of-type,.group-tabs .tab-content>section.tab-visible{display:block}.group-tabs.js-tabs .tab-content>section:first-of-type:not(.tab-visible){display:none}.tab-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.tab-section-header__title{display:flex;align-items:center;gap:.75rem}.tab-section-header .fight-actions{display:flex;align-items:center}.tab-section-header .fight-actions form{display:contents}.tab-section-header .fight-actions .fight-edit-button{margin-right:0}.tab-section-header__left{display:flex;flex-direction:column;gap:.2rem}.tab-section-header h2{margin:0;font-size:var(--fs-subtitle);font-weight:700;color:var(--text)}.tab-section-header .fight-edit-link{color:inherit;text-decoration:none}.tab-section-header .fight-edit-link:hover,.tab-section-header .fight-edit-link:focus{text-decoration:underline}.tab-section-header__meta{font-size:var(--fs-caption);color:var(--text-muted);letter-spacing:.02em}.fights-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.fights-list__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;background:var(--overlay-subtle);border-radius:8px;border:1px solid var(--border)}.fights-list__info{display:flex;align-items:center;gap:.75rem}.fights-list__info strong{font-size:var(--fs-body);color:var(--text)}.fights-list__slot{font-size:var(--fs-caption);color:var(--text-muted)}.btn-icon-danger{background:rgba(0,0,0,0);border:none;padding:0 .2rem;cursor:pointer;color:var(--text-muted);font-size:var(--fs-body);line-height:1;flex-shrink:0}.btn-icon-danger:hover,.btn-icon-danger:focus,.btn-icon-danger:active{background:rgba(0,0,0,0);color:var(--danger)}.btn-icon-danger>form{display:contents}.toggle-container{margin-bottom:.35rem}.group-calendar-wrapper{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.edit-row-cell:hover{background:var(--row-hover)}.group-calendar{width:100%;background:var(--surface);border:1px solid var(--border);font-size:var(--fs-body);width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;margin-top:1rem}.group-calendar th,.group-calendar td{padding:.45rem .65rem;border-bottom:1px solid var(--border);text-align:left;text-align:left}.group-calendar th:first-child,.group-calendar td:first-child{text-align:left}.group-calendar:not(.fight-roster) td{vertical-align:middle}.group-calendar.fight-roster th,.group-calendar.fight-roster td{text-align:left;vertical-align:top}.group-calendar th{font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--overlay-subtle);border-bottom:1px solid var(--border);text-align:left;vertical-align:bottom}.group-calendar th.col-date{width:2.5rem;padding:.5rem .2rem}.date-rotated{display:flex;flex-direction:column;align-items:center;gap:.1rem;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.date-rotated span:first-child{font-weight:700;color:var(--text-muted-strong)}.date-rotated span:last-child{font-weight:400;color:var(--text-muted);font-size:var(--fs-caption)}.group-calendar td:first-child,.group-calendar td.col-sub{white-space:nowrap}.group-calendar th.col-sub,.group-calendar td.col-sub{width:1%}.group-calendar td.role{width:1%;white-space:nowrap}.sub-badge{display:inline-block;padding:.2rem .35rem;font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;background:rgba(222,157,52,.15);color:#de9d34;border-radius:999px}.subclass-icons{display:flex;flex-wrap:nowrap;gap:.25rem;align-items:center;height:100%;min-height:1.75rem;margin-top:0}.subclass-icon,.gearset-icon,.ultimate-icon,.skill-icon{width:1.75rem;height:1.75rem;aspect-ratio:1/1;border-radius:.35rem;border:1px solid rgba(27,32,48,.1);object-fit:contain;max-width:none;margin:0;display:block}.subclass-item,.gearset-item,.skill-item,.ultimate-item{display:inline-flex;align-items:center;gap:.5rem;vertical-align:middle}.feature-cell{display:flex;flex-wrap:wrap;align-items:flex-start}.feature-edit{flex:0 0 auto}.feature-values{display:flex;flex-direction:column;flex:1 1 0;min-width:0;gap:.35rem}.feature-values--inline{width:100%;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.35rem;overflow-x:auto;overflow-y:hidden;min-width:0;white-space:nowrap}.feature-values--inline .feature-item{margin:0;white-space:nowrap;flex:0 0 auto}.feature-values--inline .feature-item a{white-space:nowrap;flex:0 0 auto}.feature-item{display:inline-flex;align-items:center;gap:.5rem}.subclass-item a,.gearset-item a,.skill-item a,.ultimate-item a{display:inline-flex;align-items:center;gap:.5rem}.group-calendar th.col-subclass,.group-calendar td.col-subclass{width:1%;white-space:nowrap}.group-calendar tbody tr:hover{background:var(--row-hover)}.group-calendar tbody tr:last-child td{border-bottom:none}.group-calendar td{color:var(--text)}.group-calendar td.member-absent{color:var(--danger)}.group-calendar td.member-substitute{color:#de9d34}.group-calendar td.attendance-absent{background:rgba(214,122,122,.6)}.group-calendar td[class*=attendance]{text-align:center;vertical-align:middle}.group-calendar td[class*=attendance] form{display:flex;justify-content:center;align-items:center}.group-calendar.fight-roster{margin-top:1.5rem}.group-calendar.fight-roster th{font-weight:700;text-transform:uppercase;color:var(--text-muted)}.group-calendar.fight-roster tr:last-child td{border-bottom:none}.fight-roster__title{margin:1.5rem 0 .5rem;font-size:var(--fs-body);font-weight:700}.member-name-link{color:inherit;text-decoration:none;font-weight:inherit;font-size:inherit;font-family:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left}.member-name-link:hover{color:var(--accent);text-decoration:underline;background:none}.member-name-with-action{display:inline-flex;align-items:center;gap:.5rem;vertical-align:middle}.member-name{font-weight:inherit}.gear-set-table-wrapper{max-height:14rem;overflow-y:auto}.icon-only{margin-left:1rem;padding:.15rem;border:1px solid rgba(0,0,0,0);border-radius:.35rem;background:rgba(0,0,0,0);color:var(--text-muted-strong);display:inline-flex;align-items:center;justify-content:center;line-height:0;vertical-align:middle;cursor:pointer;transition:border-color 150ms ease,background-color 150ms ease;flex:none}.icon-only:hover,.icon-only:focus-visible{color:var(--text);border-color:var(--overlay-border);background-color:var(--overlay-hover)}.header-icon-btn{margin-left:.1rem}.editable-cell{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.group-calendar.fight-roster td .icon-only{margin-top:auto;margin-bottom:auto}.position-cell__text,.tasks-cell__text,.notes-cell__text{display:block;white-space:pre-line;overflow-wrap:anywhere;line-height:1.4;min-width:0}.icon-only img,.icon-only svg{width:16px;height:16px;min-width:16px;min-height:16px;display:block}.gear-set-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-body);border:1px solid var(--border)}.gear-set-table th,.gear-set-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.gear-set-table th{font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--overlay-subtle);border-bottom:1px solid var(--border);text-align:left}.gear-set-table td:first-child{width:3.25rem}.gear-set-table tbody tr:hover{background:var(--overlay-hover)}.gear-set-table thead tr{background-color:var(--overlay-subtle);border:1px solid var(--border)}.roster-h2{font-size:var(--fs-subtitle)}.roster-legend{display:flex;gap:1.25rem;margin-top:.75rem;flex-wrap:wrap}.roster-legend__item{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-caption);color:var(--text-muted)}.roster-legend__dot{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0}.roster-legend__dot--absent{background:var(--danger)}.roster-legend__dot--substitute{background:#de9d34}.group-calendar td.role{color:var(--text-muted);font-size:var(--fs-caption)}.role{font-size:var(--fs-body);color:var(--text-muted-strong)}.attendance-cell{min-width:3rem;text-align:center;vertical-align:middle}.attendance-cell form{margin:0;display:inline-flex;justify-content:center;align-items:center}.attendance-cell input[type=checkbox]{transform:scale(1.1);accent-color:var(--accent)}.attendance-cell input[type=checkbox][disabled]{cursor:not-allowed}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem}.dashboard-header__actions{display:flex;gap:.75rem;align-items:center;flex-shrink:0}.dashboard-search-input{min-width:18rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:var(--fs-body);color:var(--text);background:var(--surface)}.pagy-search-form{display:flex;flex:1;justify-content:flex-end;margin-bottom:.5rem}.pagy-search-input{width:min(24rem,100%);padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:var(--fs-caption);color:var(--text);background:var(--surface);vertical-align:middle}.dialog-table-search{padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:var(--fs-body);color:var(--text);background:var(--surface)}.dashboard-search-button{margin:0}.dashboard-title{font-size:var(--fs-heading);font-weight:700;letter-spacing:-0.02em;color:var(--text);margin:0}.dashboard-subtitle{font-size:var(--fs-body);color:var(--text-muted);margin:.2rem 0 0}body.dialog-open{overflow:hidden}.member-dialog{border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px rgba(20,30,60,.14);background:var(--surface);padding:0;min-width:340px;max-width:480px;width:100%}.member-dialog::backdrop{background:rgba(20,30,60,.3)}.member-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem .75rem;border-bottom:1px solid var(--border)}.member-dialog__title{font-size:var(--fs-body);font-weight:700;color:var(--text);margin:0}.member-dialog__close{background:none;border:none;font-size:var(--fs-subtitle);border-radius:6px}.member-dialog__close:hover{color:var(--text);background:var(--overlay-hover)}.member-dialog .form-section{border-top:none}dialog#dlg-current-markers.member-dialog{max-width:760px}.member-dialog--wide{max-width:820px;width:95vw}.marker-value-card{display:grid;gap:.75rem;margin-bottom:1.5rem}.marker-value-card__meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:var(--fs-body);color:var(--text-muted)}.marker-value-card__body{display:flex;gap:.5rem;align-items:flex-start}.marker-value-card__textarea-wrapper{flex:1}.marker-value-card__text{width:100%;min-height:10rem;padding:1rem;font-family:inherit;font-size:var(--fs-body);line-height:1.5}.marker-value-card__actions{display:flex;align-items:flex-start}.btn-copy{padding:.45rem .75rem;min-width:0;white-space:nowrap}.btn-add-fight{margin-bottom:.35rem}.btn-save-notes{margin-top:.75rem;padding:.35rem .75rem;font-size:var(--fs-caption);max-width:9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-meta{display:flex;gap:1.75rem;flex-wrap:wrap;margin-bottom:2rem}.group-meta__item{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.5rem;min-width:120px}.group-meta__label{font-size:var(--fs-caption);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.group-meta__value{font-size:var(--fs-subtitle);font-weight:600;color:var(--text)}.group-meta__item--raids{flex:1;min-width:200px}.group-meta__raids{display:flex;flex-direction:column;gap:.75rem;margin-top:.2rem}.raids-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.raids-list__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.raids-list__name{font-size:var(--fs-body);font-weight:600;color:var(--text)}.raids-list__delete{background:none;border:none;padding:0 .2rem;cursor:pointer;color:var(--text-muted);font-size:var(--fs-caption);line-height:1}.raids-list__delete:hover{color:var(--danger)}.raids-list__delete>form{display:contents}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 340px), 1fr));gap:1.25rem}.group-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);background:var(--group-card-bg);display:flex;flex-direction:column;transition:box-shadow 180ms ease,transform 180ms ease}.group-card:hover{box-shadow:0 2px 6px rgba(20,30,70,.1),0 8px 24px rgba(20,30,70,.08);transform:translateY(-2px)}.group-card__body{padding:1.4rem 1.4rem 1rem;flex:1}.group-card__name-link{text-decoration:none;color:inherit}.group-card__name-link:hover .group-card__name{color:var(--accent)}.group-card__name{font-size:var(--fs-subtitle);font-weight:700;letter-spacing:-0.01em;color:var(--text);margin:0 0 .5rem;transition:color 150ms ease}.group-card__description{font-size:var(--fs-body);color:var(--text-muted);line-height:1.5;margin:0;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.group-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.group-card__meta-item{display:flex;flex-direction:column;padding:.75rem 1.4rem;gap:.2rem}.group-card__meta-item:nth-child(odd){border-right:1px solid var(--border)}.group-card__meta-label{font-size:var(--fs-caption);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.group-card__meta-value{font-size:var(--fs-body);font-weight:600;color:var(--text)}.group-card__footer{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.4rem}.group-card__view-link{font-size:var(--fs-body);font-weight:600;color:var(--accent);text-decoration:none;transition:color 150ms ease}.group-card__view-link:hover{color:var(--accent-strong)}.group-card__edit-link{font-size:var(--fs-caption);color:var(--text-muted);text-decoration:none;padding:.3rem .6rem;border:1px solid var(--border-soft);border-radius:6px;transition:background 150ms ease,color 150ms ease}.group-card__edit-link:hover{background:var(--overlay-hover);color:var(--text)}.groups-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;border:1px dashed var(--border);border-radius:8px;text-align:center}.groups-empty__text{font-size:var(--fs-subtitle);color:var(--text-muted);margin:0}.groups-empty__info{font-size:var(--fs-body);color:var(--text-muted);margin:.5rem 0 0}.page-header{margin-bottom:2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header__left{flex:1}.page-header__actions{display:flex;align-items:center;gap:.75rem;padding-top:2.4rem}.sub-text{font-size:var(--fs-caption);color:var(--text-muted)}.page-back-link{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-caption);font-weight:500;color:var(--text-muted);text-decoration:none;margin-bottom:1rem;transition:color 150ms ease}.page-back-link:hover{color:var(--accent)}.page-title{font-size:var(--fs-heading);font-weight:700;letter-spacing:-0.02em;color:var(--text);margin:0 0 .2rem}.page-title__editable{text-decoration:none;color:inherit}.page-title__editable:hover{text-decoration:underline}.page-subtitle{font-size:var(--fs-body);color:var(--text-muted);margin:0}.form-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);max-width:600px;min-width:0}.form-card--full{max-width:none}.invite-list{list-style:none;margin:0;padding:0;color:var(--text-muted-strong);font-size:var(--fs-body)}.invite-list__item{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.invite-link{font-family:inherit;word-break:break-all;flex:1;min-width:0}.invite-link-duration{white-space:nowrap;color:var(--text-muted)}.invite-list__item .btn-copy{margin-left:auto}.profile-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);max-width:700px;margin-bottom:2rem}.profile-header{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 1.75rem 0}.profile-avatar{width:4.5rem;height:4.5rem;border-radius:999rem;background:var(--surface-soft);color:var(--text-muted);font-size:1.5rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;object-fit:cover}.profile-summary{flex:1}.profile-name{font-size:var(--fs-heading);font-weight:700;margin:0 0 .35rem}.profile-handle{margin:0;color:var(--text-muted)}.profile-grid{display:grid;gap:1rem;padding:1.5rem 1.75rem 1.75rem}.profile-row{display:grid;grid-template-columns:minmax(140px, 180px) 1fr;gap:.75rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--border)}.profile-row:first-child{border-top:0}.profile-row strong{font-size:var(--fs-body);color:var(--text-muted-strong)}.profile-row span{font-size:var(--fs-body);color:var(--text)}.profile-section{margin-top:2.5rem}.edit-top-layout{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:2rem;align-items:start}.edit-top-layout>*{min-width:0}@media(max-width: 1500px){.edit-top-layout{grid-template-columns:1fr}}.form-section{padding:1.5rem 1.75rem}.form-section+.form-section{border-top:1px solid var(--border)}.form-section__title{font-size:var(--fs-caption);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1.1rem}.form-grid{display:flex;flex-direction:column;gap:1rem}.form-grid__no_gap{gap:0}.form-group{display:flex;flex-direction:column;gap:.75rem;margin:0}.form-group label{margin-bottom:0}.linked-user-field{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);min-height:2.75rem;display:inline-flex;align-items:center}.form-actions{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.75rem;border-top:1px solid var(--border);background:var(--overlay-subtle);border-radius:0 0 8px 8px}.form-actions__login{padding:0 1.75rem 1.5rem 1.75rem}.form-actions input[type=submit],.form-actions button{width:auto}.members-section__header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem}.members-section__title{font-size:var(--fs-subtitle);font-weight:700;color:var(--text);margin:0}.members-section__count{font-size:var(--fs-caption);color:var(--text-muted)}.raid-slots-section,.members-section-wrapper{margin-top:2.5rem}.raid-slots-section__header,.members-section-wrapper__header{margin-bottom:1.25rem}.raid-slots-section__title,.members-section-wrapper__title{font-size:var(--fs-subtitle);font-weight:700;color:var(--text);margin:0 0 .25rem}.raid-slots-section__subtitle,.members-section-wrapper__subtitle{font-size:var(--fs-body);color:var(--text-muted);margin:0}.edit-top-layout--slots{margin-bottom:0}.members-table__inner{width:100%;border-collapse:separate;border-spacing:0}.members-table__inner th{font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--overlay-subtle);border-bottom:1px solid var(--border);text-align:left;padding:.7rem 1.25rem}.members-table__inner td{padding:.75rem 1.5rem;border-bottom:1px solid var(--border);text-align:left;color:var(--text);vertical-align:middle}.members-table__inner .member-name__alert{color:var(--danger);font-weight:700;margin-right:.3rem}.members-table__inner th.col-subclass,.members-table__inner td.col-subclass{text-align:left;vertical-align:middle;white-space:nowrap;padding-right:.75rem}.members-table__inner td.col-subclass{padding-top:.85rem;padding-bottom:.85rem;padding-right:0}.members-table__inner tbody tr:last-child td{border-bottom:none}.members-table__inner tbody tr:hover{background:var(--overlay-hover)}.members-table__inner td.member-actions{display:table-cell;text-align:right;padding-right:1rem;white-space:nowrap}.members-table__inner td.member-actions>button{display:inline-flex;align-items:center;vertical-align:middle}.members-table__inner td.member-actions>form{display:inline-flex;align-items:center;vertical-align:middle;margin-left:.5rem}.members-table__inner td.invited-player-action{text-align:right;white-space:nowrap;padding-right:1rem}.members-table__inner td.invited-player-action>button,.members-table__inner td.invited-player-action>form{display:inline-flex;align-items:center;vertical-align:middle}.members-table__inner td.invited-player-action>form{margin-left:.5rem}.members-table__inner td.invited-player-action .btn-secondary,.members-table__inner td.invited-player-action input[type=submit].btn-secondary{width:6rem;white-space:nowrap;display:inline-flex;justify-content:center}.dashboard-table,.group-owners-table{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.dashboard-table table,.group-owners-table table{width:100%;border-collapse:collapse}.dashboard-table thead tr,.group-owners-table thead tr{background:var(--overlay-subtle);border-bottom:1px solid var(--border)}.dashboard-table th,.group-owners-table th{font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--overlay-subtle);border-bottom:1px solid var(--border);text-align:left;padding:.55rem 1rem}.dashboard-table td,.group-owners-table td{padding:.3rem 1rem;border-bottom:1px solid var(--border);text-align:left;color:var(--text);vertical-align:middle}.dashboard-table tbody tr:last-child td,.group-owners-table tbody tr:last-child td{border-bottom:none}.dashboard-table tbody tr:hover,.group-owners-table tbody tr:hover{background:var(--overlay-hover)}.dashboard-table .rl-email,.group-owners-table .rl-email{color:var(--text-muted)}.dashboard-table .rl-groups,.group-owners-table .rl-groups{color:var(--text-muted-strong);font-variant-numeric:tabular-nums}.dashboard-table .rl-actions,.group-owners-table .rl-actions{text-align:right;padding-right:.75rem}.dashboard-table .rl-actions form,.group-owners-table .rl-actions form{display:inline-flex;align-items:center;vertical-align:middle;margin-left:.35rem}.dashboard-table .skill-icon,.dashboard-table .ultimate-icon,.dashboard-table .gearset-icon,.dashboard-table img.skill-icon,.dashboard-table img.ultimate-icon,.dashboard-table img.gearset-icon,.group-owners-table .skill-icon,.group-owners-table .ultimate-icon,.group-owners-table .gearset-icon,.group-owners-table img.skill-icon,.group-owners-table img.ultimate-icon,.group-owners-table img.gearset-icon{width:1.75rem;height:1.75rem;aspect-ratio:1/1;border-radius:.35rem;border:1px solid rgba(27,32,48,.1);object-fit:contain;max-width:none;margin:0;display:block}.members-management{margin-top:3rem}.members-management__header{margin-bottom:1.5rem}.members-management__title{font-size:var(--fs-subtitle);font-weight:700;color:var(--text);margin:0 0 .25rem}.members-management__subtitle{font-size:var(--fs-body);color:var(--text-muted);margin:0}.members-table{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.members-table table{width:100%;border-collapse:collapse}.members-table thead tr{background:var(--overlay-subtle);border-bottom:1px solid var(--border)}.members-table th{font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--overlay-subtle);border-bottom:1px solid var(--border);text-align:left;padding:.55rem 1rem}.members-table td{padding:.65rem 1rem;border-bottom:1px solid var(--border);text-align:left;color:var(--text);vertical-align:middle}.members-table tbody tr:last-child td{border-bottom:none}.members-table tbody tr:hover{background:var(--overlay-hover)}.members-table{margin-bottom:2rem}.members-table td{line-height:1.25}.members-table .member-name{font-weight:500;display:flex;align-items:center;gap:.75rem}.members-table .member-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-right:.75rem}.members-table .member-actions>form{display:contents}td.member-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-right:1rem}td.member-actions>form{display:contents}.member-edit-form{display:inline-flex;align-items:center;gap:.75rem;margin-right:.5rem}.member-inline-input,.member-inline-select{padding:.35rem .55rem;font-size:var(--fs-caption);border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.member-inline-input:focus,.member-inline-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(62,110,199,.15)}.member-inline-input{width:160px}.member-inline-select{cursor:pointer}.role-badge{display:inline-block;padding:.2rem .6rem;font-size:var(--fs-caption);font-weight:600;border-radius:999px;letter-spacing:.04em}.role-badge--heal,.role-badge--fight-healer{background:rgba(40,171,112,.12);color:rgb(39.509569378,143.990430622,68.4832535885)}.role-badge--tank,.role-badge--fight-tank{background:rgba(62,110,199,.12);color:var(--accent-strong)}.role-badge--damage,.role-badge--fight-damage{background:rgba(214,32,32,.12);color:var(--danger)}.role-badge--fight-unassigned{background:rgba(99,112,136,.1);color:var(--text-muted)}.current-badge{display:inline-block;padding:.15rem .5rem;font-size:var(--fs-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(40,171,112,.15);color:rgb(39.509569378,143.990430622,68.4832535885);border-radius:999px}.members-add-form{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:1.5rem}.members-add-form__title{font-size:var(--fs-body);font-weight:600;color:var(--text);margin:0 0 1.25rem}.members-add-row{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.members-add-row .form-group{margin-bottom:0;min-width:160px}.members-add-row input[type=submit].btn-primary{align-self:flex-end;margin-top:auto}
