:root{--color-bg:#f5f7fb;--color-sidebar:#071225;--color-sidebar-soft:#0d1a30;--color-sidebar-text:#fff;--color-sidebar-muted:#c7d0df;--color-sidebar-active-from:#4f46ff;--color-sidebar-active-to:#6438f5;--color-surface:#fff;--color-surface-soft:#f1f4f9;--color-border:#dfe5ef;--color-text:#334155;--color-text-strong:#0f172a;--color-muted:#64748b;--color-primary:#16a34a;--color-primary-hover:#15803d;--color-primary-text:#fff;--color-secondary:#4f46e5;--color-secondary-hover:#4338ca;--color-secondary-text:#fff;--color-accent:#6d35f4;--color-error:#ef4444}:root[data-theme=dark]{--color-bg:#111827;--color-surface:#1f2937;--color-surface-soft:#273244;--color-border:#374151;--color-text:#d1d5db;--color-text-strong:#f9fafb;--color-muted:#9ca3af;--color-primary:#22c55e;--color-primary-hover:#16a34a;--color-secondary:#818cf8;--color-secondary-hover:#6366f1;--color-error:#f87171}*{box-sizing:border-box}html,body{background:var(--color-bg);min-height:100%;color:var(--color-text);margin:0;font-family:Arial,Helvetica,sans-serif}button{cursor:pointer}.app-shell{background:var(--color-bg);grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--color-sidebar);border-right:1px solid #17233a;flex-direction:column;gap:34px;min-height:100vh;padding:20px 14px 24px;display:flex;position:sticky;top:0}.app-brand{min-height:44px;color:var(--color-sidebar-text);align-items:center;gap:12px;min-width:0;padding:0 6px;text-decoration:none;display:flex}.app-brand-mark{background:linear-gradient(135deg, var(--color-sidebar-active-from), var(--color-sidebar-active-to));width:42px;height:42px;color:var(--color-primary-text);text-transform:uppercase;border-radius:9px;flex:0 0 42px;place-items:center;font-size:18px;font-weight:900;display:grid;position:relative;overflow:visible}.app-brand-mark img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.app-brand-country-flag{background:var(--color-sidebar);border:1px solid #27364f;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:22px;padding:0 3px;display:inline-flex;position:absolute;bottom:-6px;right:-7px}.app-brand-country-flag .country-flag-icon{width:21px;height:14px}.app-brand-copy{gap:2px;min-width:0;display:grid}.app-brand-copy strong{color:var(--color-sidebar-text);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:900;line-height:1.1;overflow:hidden}.app-brand-copy small{color:var(--color-sidebar-muted);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800}.app-sidebar-nav{flex:1;align-content:start;gap:14px;display:grid}.app-sidebar-link{width:100%;min-height:48px;color:var(--color-sidebar-text);font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:14px;padding:0 14px;font-weight:700;line-height:1;text-decoration:none;display:flex}.app-sidebar-link:hover,.app-sidebar-link-active{background:linear-gradient(135deg, var(--color-sidebar-active-from), var(--color-sidebar-active-to));color:var(--color-sidebar-text);border-color:#0000}.app-sidebar-group{gap:6px;display:grid}.app-sidebar-group.simple{gap:0}.app-sidebar-group-label{cursor:pointer;justify-content:flex-start}.app-sidebar-group .app-sidebar-link{text-align:left;justify-content:flex-start}.app-sidebar-subnav{border-left:1px solid #ffffff21;gap:6px;margin-left:31px;padding-left:13px;display:grid}.app-sidebar-subnav-link{min-height:30px;color:var(--color-sidebar-muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.app-sidebar-subnav-link.active{color:var(--color-sidebar-text)}.app-sidebar-subnav-link.disabled{cursor:not-allowed;opacity:.62}.app-sidebar-subnav-link small{color:var(--color-sidebar-muted);background:#ffffff14;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.app-main{flex-direction:column;min-width:0;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:5;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:14px 28px;display:flex;position:sticky;top:0}.app-header h1{color:var(--color-text-strong);margin:2px 0 0;font-size:22px}.app-header-eyebrow{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.app-header-actions,.app-user-menu{align-items:center;gap:10px;display:flex}.app-icon-button{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-secondary);background:0 0;border-radius:10px;place-items:center;text-decoration:none;display:grid}.app-icon-button:hover{background:var(--color-surface-soft);color:var(--color-secondary-hover)}.app-theme-toggle{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:999px;align-items:center;width:62px;height:34px;padding:3px;display:flex}.app-theme-toggle-thumb{background:var(--color-secondary);width:26px;height:26px;color:var(--color-secondary-text);border-radius:50%;place-items:center;transition:transform .16s,background .16s;display:grid;transform:translate(0)}:root[data-theme=dark] .app-theme-toggle-thumb{background:var(--color-primary);transform:translate(28px)}.app-user-avatar{background:var(--color-surface-soft);border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-strong);border-radius:50%;place-items:center;font-weight:800;display:grid;overflow:hidden}.app-user-avatar img{object-fit:cover;width:100%;height:100%}.app-user-copy{gap:2px;min-width:120px;display:grid}.app-user-copy strong{color:var(--color-text-strong);font-size:14px}.app-user-copy span{color:var(--color-muted);font-size:12px}.app-content{width:100%;max-width:none;padding:28px}.profile-page{gap:18px;display:grid}.profile-hero,.profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px}.profile-hero{align-items:center;gap:18px;display:flex}.profile-avatar-large{background:linear-gradient(135deg, var(--color-sidebar-active-from), var(--color-sidebar-active-to));width:76px;height:76px;color:var(--color-primary-text);border-radius:18px;place-items:center;font-size:24px;font-weight:900;display:grid;overflow:hidden}.profile-avatar-large img{object-fit:cover;width:100%;height:100%}.profile-eyebrow{color:var(--color-muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.profile-hero h1,.profile-card h2{color:var(--color-text-strong);margin:0}.profile-hero h1{margin-top:2px;font-size:30px}.profile-hero p{color:var(--color-muted);margin:5px 0 0}.profile-statuses{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.profile-card{gap:14px;display:grid}.profile-card-wide{grid-column:1/-1}.profile-card-title{align-items:center;gap:9px;display:flex}.profile-card-title svg{color:var(--color-secondary)}.profile-card h2{font-size:18px}.profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-fields-four{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-field{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;gap:5px;min-width:0;padding:11px 12px;display:grid}.profile-field span{color:var(--color-muted);font-size:12px;font-weight:800}.profile-field strong{min-width:0;color:var(--color-text-strong);overflow-wrap:anywhere;font-size:14px}.profile-edit-form{gap:12px;display:grid}.profile-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-edit-grid label{color:var(--color-text-strong);gap:6px;font-size:13px;font-weight:800;display:grid}.profile-edit-grid input{border:1px solid var(--color-border);background:var(--color-surface-soft);width:100%;min-height:38px;color:var(--color-text-strong);font:inherit;border-radius:8px;padding:0 12px}.profile-edit-wide{grid-column:1/-1}.profile-edit-actions{justify-content:flex-end;display:flex}.profile-form-message{border-radius:8px;padding:10px 12px;font-size:13px;font-weight:800}.profile-form-message.success{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));color:var(--color-primary)}.profile-form-message.error{background:color-mix(in srgb, var(--color-error) 10%, var(--color-surface));color:var(--color-error)}.tutor-request-page{gap:22px;display:grid}.tutor-request-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;gap:8px;padding:24px;display:grid}.tutor-request-hero span{color:var(--color-secondary);text-transform:uppercase;font-size:12px;font-weight:900}.tutor-request-hero h1{color:var(--color-text-strong);margin:0;font-size:clamp(26px,3vw,38px);line-height:1.08}.tutor-request-hero p{color:var(--color-muted);max-width:780px;margin:0;line-height:1.5}.tutor-request-layout{grid-template-columns:minmax(0,1fr) minmax(310px,380px);align-items:start;gap:18px;display:grid}.tutor-request-card,.tutor-request-history{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;gap:16px;padding:20px;display:grid}.tutor-request-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tutor-request-options button{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text);text-align:left;border-radius:12px;justify-items:start;gap:8px;min-height:142px;padding:16px;display:grid}.tutor-request-options button.tutor{background:#7c66ff14;border-color:#8b7fff94}.tutor-request-options button.club{background:#14b8a614;border-color:#2dd4bf85}.tutor-request-options button.tutor.selected{border-color:#9b8cff;box-shadow:0 0 0 3px #7c66ff26}.tutor-request-options button.club.selected{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf26}.tutor-request-options button:disabled{cursor:not-allowed;opacity:.55}.tutor-request-options button.tutor svg{color:var(--color-secondary)}.tutor-request-options button.club svg{color:#2dd4bf}.tutor-request-options strong{color:var(--color-text-strong);line-height:1.2}.tutor-request-options small{color:var(--color-muted);line-height:1.35}.tutor-request-card label{gap:7px;display:grid}.tutor-request-card label span{color:var(--color-text-strong);font-size:13px;font-weight:900}.tutor-request-card input,.tutor-request-card textarea{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text-strong);font:inherit;border-radius:10px;outline:none;padding:12px 14px}.tutor-request-card textarea{resize:vertical;min-height:110px}.tutor-request-card input:focus,.tutor-request-card textarea:focus{border-color:var(--color-secondary)}.tutor-request-list{gap:12px;display:grid}.tutor-request-list article{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:12px;gap:6px;padding:14px;display:grid}.tutor-request-list strong{color:var(--color-text-strong)}.tutor-request-list small,.tutor-request-list time,.tutor-request-list p,.tutor-request-empty{color:var(--color-muted);margin:0;font-size:13px;line-height:1.4}.tutor-request-status{text-transform:uppercase;border-radius:999px;justify-self:start;padding:5px 8px;font-size:11px;font-weight:900}.tutor-request-status.pending{color:#92400e;background:#f59e0b1f}.tutor-request-status.approved{color:#166534;background:#16a34a1f}.tutor-request-status.denied{color:#b91c1c;background:#ef44441a}.admin-request-page{gap:18px;display:grid}.admin-request-hero,.admin-request-panel,.admin-request-metrics article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px}.admin-request-hero{gap:9px;padding:24px;display:grid}.admin-request-hero>span{color:var(--color-secondary);text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.admin-request-hero h1{color:var(--color-text-strong);margin:0;font-size:clamp(28px,3vw,40px);line-height:1.08}.admin-request-hero p{color:var(--color-muted);max-width:760px;margin:0;line-height:1.5}.admin-request-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-request-metrics article{gap:6px;padding:18px;display:grid}.admin-request-metrics span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:900}.admin-request-metrics strong{color:var(--color-text-strong);font-size:30px}.admin-request-panel{gap:14px;padding:18px;display:grid}.admin-request-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-request-panel-header h2{color:var(--color-text-strong);margin:0;font-size:20px}.admin-request-panel-header span{color:var(--color-muted);font-size:13px;font-weight:800}.admin-request-list{gap:12px;display:grid}.admin-request-row{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:minmax(180px,1.2fr) minmax(150px,.9fr) minmax(120px,.7fr) minmax(150px,.9fr) minmax(220px,1.2fr) auto;align-items:start;gap:14px;padding:14px;display:grid}.admin-request-row>div{gap:5px;min-width:0;display:grid}.admin-request-row strong,.admin-request-user strong{color:var(--color-text-strong);line-height:1.25}.admin-request-row small,.admin-request-row p,.admin-request-user span{color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.35}.admin-request-label{color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:900}.admin-request-status{border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.admin-request-status.pending{color:#92400e;background:#f59e0b1f}.admin-request-status.approved{color:#166534;background:#16a34a1f}.admin-request-status.denied{color:#b91c1c;background:#ef44441a}.admin-request-actions{align-content:start;gap:8px;display:flex}.admin-request-resolve{gap:8px;min-width:180px;display:grid}.admin-request-resolve textarea{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-strong);font:inherit;resize:vertical;border-radius:10px;width:100%;min-height:58px;padding:9px 10px}.admin-request-resolve>div{gap:8px;display:flex}.admin-request-error{color:#b91c1c;background:#ef44441a;border-radius:10px;margin:0;padding:8px 9px;font-size:12px;font-weight:800}.admin-request-resolved{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:900}.admin-request-empty{background:var(--color-surface-soft);border:1px dashed var(--color-border);color:var(--color-muted);text-align:center;border-radius:12px;place-items:center;gap:8px;padding:34px;display:grid}.admin-request-empty strong{color:var(--color-text-strong)}.welcome-onboarding{transform-origin:50%;z-index:55;background:#fff;border:1px solid #6366f152;border-radius:16px;grid-template-columns:250px minmax(0,1fr);gap:16px 28px;width:min(780px,100vw - 44px);max-width:calc(100vw - 32px);min-height:360px;padding:30px 58px 28px;animation:.36s cubic-bezier(.22,1,.36,1) both welcome-onboarding-enter;display:grid;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #0f172a2e,0 24px 80px #0f172a47,inset 0 0 0 1px #ffffffdb}.welcome-onboarding:after{content:none}:root[data-theme=dark] .welcome-onboarding{background:#fff;border-color:#818cf8a3;box-shadow:0 0 0 100vmax #02061742,0 30px 90px #00000075,inset 0 0 0 1px #ffffffdb}.welcome-onboarding:before{background:linear-gradient(135deg, var(--color-secondary), var(--color-primary));content:"";border-radius:16px 16px 0 0;height:5px;position:absolute;top:-1px;left:-1px;right:-1px}.welcome-onboarding-close{color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;position:absolute;top:14px;right:14px}.welcome-onboarding-arrow{color:#4f46e5;z-index:2;background:#fff;border:1px solid #c7d2fe;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 28px #0f172a1f}.welcome-onboarding-arrow.previous{left:14px}.welcome-onboarding-arrow.next{right:14px}.welcome-onboarding-arrow:disabled{cursor:not-allowed;opacity:.35}.welcome-onboarding-visual{background:radial-gradient(circle at 30% 20%,#ffffff61,#0000 26%),linear-gradient(145deg,#4f46e5,#16a34a);border-radius:14px;grid-row:1/span 4;place-items:center;min-height:300px;animation:.52s cubic-bezier(.22,1,.36,1) .11s both welcome-onboarding-visual-enter;display:grid;position:relative;overflow:hidden}.welcome-onboarding-visual:before,.welcome-onboarding-visual:after{content:"";border:1px solid #ffffff38;border-radius:999px;position:absolute}.welcome-onboarding-visual:before{width:180px;height:180px;top:-52px;right:-44px}.welcome-onboarding-visual:after{width:220px;height:220px;bottom:-62px;left:-70px}.welcome-onboarding-visual span{color:#fff;z-index:1;background:#ffffff29;border:1px solid #ffffff47;border-radius:24px;justify-content:center;align-items:center;width:128px;height:128px;display:inline-flex;position:relative}.welcome-onboarding-copy{align-content:center;gap:13px;min-height:250px;animation:.48s cubic-bezier(.22,1,.36,1) .15s both welcome-onboarding-copy-enter;display:grid}.welcome-onboarding-eyebrow{color:var(--color-secondary);text-transform:uppercase;align-items:center;gap:7px;padding-right:36px;font-size:12px;font-weight:900;display:inline-flex}.welcome-onboarding h2{color:#071225;margin:0;padding-right:28px;font-size:clamp(24px,3vw,34px);line-height:1.08}.welcome-onboarding p{color:#50617d;margin:0;line-height:1.5}.welcome-onboarding-dots{align-items:center;gap:7px;display:flex}.welcome-onboarding-dots span{background:#dbe4ff;border-radius:999px;width:8px;height:8px}.welcome-onboarding-dots span.active{background:var(--color-secondary);width:28px}.welcome-onboarding-error{color:#b91c1c;background:#ef44441a;border-radius:10px;padding:9px 10px;font-size:13px;font-weight:800}.welcome-onboarding-actions{flex-wrap:wrap;gap:10px;display:flex}.welcome-onboarding-next{justify-self:end}.welcome-onboarding-actions .book-manage-button.ghost{color:#172033;background:#fff}@keyframes welcome-onboarding-enter{0%{opacity:0;transform:translate(-50%,calc(18px - 50%))scale(.965)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes welcome-onboarding-visual-enter{0%{opacity:0;transform:translate(-16px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes welcome-onboarding-copy-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.welcome-onboarding,.welcome-onboarding-visual,.welcome-onboarding-copy{animation:none}}.tournament-builder-page,.tournament-placeholder-page{gap:18px;display:grid}.tournament-builder-hero,.tournament-builder-section,.tournament-preview-panel,.tournament-placeholder-page article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px}.tournament-builder-hero{gap:8px;padding:24px;display:grid}.tournament-builder-hero span,.tournament-builder-section header span,.tournament-preview-eyebrow,.tournament-placeholder-page article>span{color:var(--color-secondary);text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.tournament-builder-hero h1,.tournament-placeholder-page h1{color:var(--color-text-strong);margin:0;font-size:clamp(28px,3vw,40px);line-height:1.08}.tournament-builder-hero p,.tournament-placeholder-page p{color:var(--color-muted);max-width:760px;margin:0;line-height:1.5}.tournament-builder-layout{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;gap:18px;display:grid}.tournament-builder-form{gap:16px;display:grid}.tournament-builder-section{gap:16px;padding:20px;display:grid}.tournament-builder-section h2{color:var(--color-text-strong);align-items:center;gap:9px;margin:4px 0 0;font-size:20px;display:inline-flex}.tournament-builder-section h2 svg{color:var(--color-secondary)}.tournament-builder-section header>div{justify-content:space-between;align-items:center;gap:9px;width:100%;display:flex;position:relative}.tournament-section-help{background:color-mix(in srgb, var(--color-secondary) 10%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-secondary) 25%, var(--color-border));color:var(--color-secondary);border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:relative}.tournament-section-help small{color:#fff;text-align:left;text-transform:none;z-index:5;background:#071225;border-radius:10px;width:min(300px,70vw);padding:10px 12px;font-size:12px;font-weight:700;line-height:1.4;display:none;position:absolute;top:-8px;left:30px;box-shadow:0 18px 50px #0712253d}.tournament-section-help:hover small,.tournament-section-help:focus-visible small{display:block}.tournament-builder-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tournament-builder-fields label{color:var(--color-text-strong);gap:7px;font-size:13px;font-weight:900;display:grid}.tournament-builder-fields input,.tournament-builder-fields select,.tournament-builder-fields textarea{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text-strong);font:inherit;border-radius:10px;outline:none;width:100%;padding:12px 14px}.tournament-field-label{align-items:center;gap:4px;display:inline-flex}.tournament-required{color:var(--color-error)}.tournament-builder-fields input.invalid,.tournament-builder-fields textarea.invalid{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 12%, transparent)}.tournament-check-field{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}.tournament-check-field input{width:auto}.tournament-phone-input{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:10px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;display:grid}.tournament-phone-input.invalid{border-color:var(--color-error)}.tournament-phone-input input{background:0 0;border:0;padding-left:0}.tournament-phone-flag-placeholder{color:var(--color-muted);background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-weight:900;display:inline-flex}.tournament-field-error{color:var(--color-error);font-size:12px;font-weight:800;line-height:1.35}.tournament-field-note{color:var(--color-muted);font-size:12px;font-weight:700;line-height:1.35}.tournament-builder-fields textarea{resize:vertical}.tournament-builder-fields input:focus,.tournament-builder-fields select:focus,.tournament-builder-fields textarea:focus{border-color:var(--color-secondary)}.tournament-field-wide,.tournament-upload-choice,.tournament-flyer-upload,.tournament-upload-drop{grid-column:1/-1}.tournament-upload-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tournament-choice,.tournament-upload-drop{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text-strong);border-radius:12px;align-items:center;gap:10px;min-height:58px;padding:14px;display:flex}.tournament-choice.active{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e51a}.tournament-upload-drop{color:var(--color-muted);grid-template-columns:28px auto;display:grid}.tournament-upload-drop span{grid-column:2}.tournament-rules-upload{cursor:pointer}.tournament-rules-upload input{display:none}.tournament-flyer-upload{background:var(--color-surface-soft);border:1px dashed var(--color-border-strong);color:var(--color-text-strong);cursor:pointer;border-radius:12px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.tournament-flyer-upload input{display:none}.tournament-flyer-upload svg{color:var(--color-secondary)}.tournament-flyer-upload span{gap:3px;display:grid}.tournament-flyer-upload small{color:var(--color-muted);font-size:12px}.tournament-preset-picker{grid-column:1/-1;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.tournament-preset-picker button{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-secondary);border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.tournament-preset-picker button:hover{border-color:var(--color-secondary)}.tournament-preset-preview{color:#fff;background-position:50%;background-size:cover;border-radius:14px;justify-content:space-between;align-items:end;min-height:92px;padding:14px;display:flex;overflow:hidden}.tournament-preset-preview span{font-size:18px;font-weight:1000}.tournament-preset-preview small{background:#ffffff2e;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.tournament-builder-actions{background:linear-gradient(180deg, var(--color-surface), var(--color-surface-soft));border:1px solid color-mix(in srgb, var(--color-secondary) 18%, var(--color-border));border-radius:14px;align-items:stretch;gap:12px;padding:14px;display:grid;box-shadow:0 18px 60px #0f172a24}.tournament-builder-actions-eyebrow{color:var(--color-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:11px;font-weight:1000}.tournament-builder-actions span{color:var(--color-text-strong);font-size:14px;font-weight:1000;display:block}.tournament-builder-actions>span:first-child{color:var(--color-secondary);font-size:11px}.tournament-builder-actions small{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:700;display:block}.tournament-builder-action-buttons{grid-template-columns:1fr;gap:8px;display:grid}.tournament-builder-action-buttons .book-manage-button{justify-content:center;width:100%}.tournament-exit-alert-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:80;background:radial-gradient(circle at 50% 28%,#4f46e52e,#0000 30%),#07122580;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tournament-exit-alert{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;gap:16px;width:min(620px,100%);max-width:620px;padding:22px;display:grid;position:relative;box-shadow:0 28px 90px #07122547}.tournament-exit-alert:before{background:linear-gradient(90deg, var(--color-secondary), var(--color-success));content:"";border-radius:999px;height:4px;position:absolute;top:0;left:20px;right:20px}.tournament-exit-alert-header{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;display:grid}.tournament-exit-alert-icon{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface));color:var(--color-secondary);border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.tournament-exit-alert-header span{color:var(--color-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:1000;display:block}.tournament-exit-alert-header h2{margin-top:3px}.tournament-exit-alert h2{color:var(--color-text-strong);margin:0;font-size:24px;line-height:1.1}.tournament-exit-alert p{color:var(--color-muted);margin:0;line-height:1.55}.tournament-exit-alert-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tournament-exit-alert-actions .book-manage-button{justify-content:center;width:100%}.tournament-preview-panel{gap:18px;padding:18px;display:grid;position:sticky;top:86px}.tournament-preview-card-shell{background:color-mix(in srgb, var(--color-surface-soft) 70%, var(--color-surface));border:1px solid var(--color-border);border-radius:16px;gap:10px;padding:12px;display:grid}.tournament-public-card-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;overflow:hidden;box-shadow:0 16px 45px #0f172a14}.tournament-preview-media{color:#fff;background-color:#0000;background-image:radial-gradient(circle at 70% 20%,#ffffff59,#0000 24%),linear-gradient(135deg,#4f46e5,#16a34a);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;align-items:end;height:118px;padding:18px;font-size:28px;font-weight:950;display:flex;position:relative}.tournament-preview-media>span:not(.tournament-modality-badge,.tournament-preview-date-badge){max-width:calc(100% - 150px)}.tournament-preview-media.upload{background:linear-gradient(#07122526,#07122559),url(/home/chess-hero-wide.png) 50%/cover no-repeat}.tournament-preset-classic{background:radial-gradient(circle at 78% 24%,#ffffff52,#0000 22%),linear-gradient(135deg,#111827,#4f46e5 62%,#16a34a)}.tournament-preset-blitz{background:linear-gradient(135deg,#fff3,#0000 32%),linear-gradient(135deg,#0f172a,#2563eb 45%,#f97316)}.tournament-preset-school{background:radial-gradient(circle at 18% 24%,#ffffff47,#0000 24%),linear-gradient(135deg,#1e3a8a,#0f766e 55%,#84cc16)}.tournament-preset-online{background:radial-gradient(circle at 80% 20%,#ffffff52,#0000 24%),linear-gradient(135deg,#312e81,#7c3aed 48%,#06b6d4)}.tournament-preset-federated{background:linear-gradient(135deg,#ffffff2e,#0000 28%),linear-gradient(135deg,#020617,#334155 48%,#ca8a04)}.tournament-preview-body{gap:8px;padding:14px;display:grid}.tournament-preview-club-logo{background:var(--color-surface-soft);border:1px solid var(--color-border);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:14px;font-weight:1000;display:inline-flex;overflow:hidden}.tournament-preview-club-logo img{object-fit:contain;width:100%;height:100%}.tournament-preview-club-name{color:var(--color-text-strong);align-items:center;gap:8px;min-width:0;display:flex}.tournament-preview-club-name strong{color:var(--color-text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:1000;display:block;overflow:hidden}.tournament-preview-club-name>span:last-child{gap:5px;min-width:0;display:grid}.tournament-preview-meta-tags{flex-wrap:wrap;gap:6px;display:flex}.tournament-preview-meta-tags small{background:color-mix(in srgb, var(--color-secondary) 10%, var(--color-surface-soft));color:var(--color-secondary);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.tournament-modality-badge,.tournament-open-status{border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.tournament-modality-badge{color:var(--color-secondary);background:#ffffffeb}.tournament-preview-media .tournament-modality-badge{position:absolute;top:12px;right:12px;box-shadow:0 10px 30px #0712252e}.tournament-preview-date-badge{background:var(--color-secondary);border:1px solid color-mix(in srgb, var(--color-secondary) 80%, #fff);border-radius:11px;flex-direction:column;align-items:center;gap:1px;padding:8px 10px;line-height:1;display:inline-flex;position:absolute;top:14px;left:14px;box-shadow:0 12px 28px #0712253d}.tournament-preview-date-badge strong{color:#fff;font-size:20px}.tournament-preview-date-badge small{color:#fff;font-size:11px;font-weight:900}.tournament-preview-bookmark{color:#fff;background:#0712259e;border:1px solid #ffffff59;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute;top:54px;right:12px}.tournament-open-status,.tournament-open-status.is-open{color:#166534;background:#16a34a1f}.tournament-open-status.is-closed{color:#b91c1c;background:#dc26261f}.tournament-open-status.is-waitlist{color:#b45309;background:#d9770624}.tournament-open-status.is-finished{color:#475569;background:#64748b29}.tournament-preview-body h2{color:var(--color-text-strong);margin:0;font-size:18px;line-height:1.12}.tournament-preview-body small{color:var(--color-muted);font-weight:800}.tournament-preview-body p,.tournament-preview-facts span{color:var(--color-muted);margin:0}.tournament-preview-body p{line-height:1.4}.tournament-preview-facts{gap:4px;display:grid}.tournament-preview-facts span{align-items:center;gap:8px;font-size:13px;line-height:1.25;display:flex}.tournament-preview-facts svg{color:var(--color-secondary)}.tournament-preview-chips{flex-wrap:wrap;gap:7px;display:flex}.tournament-preview-chips span{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface-soft));color:var(--color-secondary);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.tournament-preview-capacity{color:var(--color-muted);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.tournament-preview-capacity svg{color:#94a3b8}.tournament-preview-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tournament-placeholder-page article{gap:12px;min-height:280px;padding:28px;display:grid}.tournament-placeholder-page article div{background:var(--color-surface-soft);border:1px dashed var(--color-border);color:var(--color-muted);border-radius:12px;justify-self:start;align-items:center;gap:10px;margin-top:8px;padding:12px 14px;font-weight:800;display:inline-flex}.profile-permission-list{flex-wrap:wrap;gap:8px;display:flex}.profile-permission-list span{border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text-strong);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.book-manage-page{gap:18px;display:grid}.book-manage-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.book-manage-header h1,.book-manage-card h2,.book-manage-panel h2{color:var(--color-text-strong);margin:0}.book-manage-header h1{font-size:28px}.book-manage-header p,.book-manage-panel-header p{color:var(--color-muted);margin:6px 0 0}.book-manage-layout{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);align-items:start;gap:18px;display:grid}.book-manage-stack{gap:18px;display:grid}.book-manage-card,.book-manage-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:18px}.book-manage-left{position:sticky;top:92px}.book-manage-card-title,.book-manage-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.book-manage-card-title span{background:var(--color-surface-soft);min-width:32px;height:28px;color:var(--color-text-strong);border-radius:999px;place-items:center;font-weight:800;display:grid}.book-manage-list,.book-manage-sections,.book-manage-form{gap:12px;display:grid}.book-manage-filters{grid-template-columns:minmax(0,1fr) 165px;gap:10px;margin-bottom:14px;display:grid}.book-manage-filters input,.book-manage-filters select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:38px;color:var(--color-text-strong);font:inherit;border-radius:8px;padding:0 12px}.book-manage-row,.book-manage-section-row{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;gap:12px;padding:12px;display:grid}.book-manage-row.selected{border-color:var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 8%, var(--color-surface))}.book-manage-row-main{width:100%;color:inherit;text-align:left;background:0 0;border:none;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:0;display:grid}.book-list-copy,.book-list-statuses{flex-wrap:wrap;align-items:center;gap:5px 8px;display:flex}.book-list-copy{display:grid}.book-manage-row-main strong,.book-manage-section-row strong{color:var(--color-text-strong);font-size:15px}.book-manage-row-main small,.book-manage-section-row small{color:var(--color-muted)}.book-manage-section-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.book-manage-section-row>div:first-child{gap:5px;display:grid}.book-manage-row-actions,.book-manage-form-actions{flex-wrap:wrap;gap:8px;display:flex}.book-manage-button{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;color:var(--color-text-strong);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:800;text-decoration:none;display:inline-flex}.book-manage-button.primary{border-color:var(--color-secondary);background:var(--color-secondary);color:var(--color-secondary-text)}.book-manage-button.primary:hover{background:var(--color-secondary-hover)}.book-manage-button.ghost:hover{background:var(--color-surface-soft)}.book-manage-button.danger{color:var(--color-error)}.book-manage-button:disabled{cursor:not-allowed;opacity:.6}.book-manage-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.book-manage-form-grid.section{grid-template-columns:minmax(0,1fr) 120px}.book-manage-form label{color:var(--color-text-strong);gap:6px;font-size:13px;font-weight:800;display:grid}.book-manage-form input,.book-manage-form select,.book-manage-form textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-strong);font:inherit;border-radius:7px;padding:10px 11px}.book-manage-form textarea{resize:vertical}.book-manage-field-wide{grid-column:1/-1}.book-manage-checkbox{grid-template-columns:auto 1fr;justify-content:start;align-items:center}.book-manage-checkbox input{width:18px;height:18px}.book-manage-help-text{color:var(--color-muted);margin:-4px 0 0;font-size:12px;line-height:1.4}.status{border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px;font-weight:800}.status.active{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));color:var(--color-primary)}.status.inactive{background:color-mix(in srgb, var(--color-error) 12%, var(--color-surface));color:var(--color-error)}.status.public{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface));color:var(--color-secondary)}.book-cover{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:6px;display:block}.book-cover.small{width:56px;height:76px}.book-cover.large{aspect-ratio:.72;width:168px}.book-cover.fallback{color:#fff;background:linear-gradient(160deg, #ffffff24, transparent 38%), linear-gradient(145deg, var(--color-sidebar-active-from), var(--color-sidebar));flex-direction:column;justify-content:space-between;padding:10px;display:flex;overflow:hidden}.book-cover.fallback span,.book-cover.fallback small{color:#ffffffbf;font-size:10px}.book-cover.fallback strong{color:#fff;font-size:12px;line-height:1.2}.book-cover.fallback.large{padding:16px}.book-cover.fallback.large strong{font-size:20px}.book-detail-hero{border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:24px;padding-bottom:18px;display:grid}.book-detail-copy{gap:10px;display:grid}.book-detail-copy p{margin:0;line-height:1.45}.book-detail-statuses{flex-wrap:wrap;gap:8px;display:flex}.book-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.book-detail-metrics div{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;gap:4px;padding:12px;display:grid}.book-detail-metrics strong{color:var(--color-text-strong);font-size:20px}.book-detail-metrics span{color:var(--color-muted);font-size:13px}.book-section-title{margin-bottom:12px}.book-section-title h3{color:var(--color-text-strong);margin:0}.book-manage-empty{border:1px dashed var(--color-border);color:var(--color-muted);border-radius:8px;gap:6px;padding:24px;display:grid}.book-manage-empty.compact{padding:16px}.book-manage-empty strong{color:var(--color-text-strong)}.book-manage-alert{border:1px solid color-mix(in srgb, var(--color-error) 45%, var(--color-border));background:color-mix(in srgb, var(--color-error) 8%, var(--color-surface));color:var(--color-error);border-radius:8px;padding:12px 14px;font-weight:800}.book-manage-success{border:1px solid color-mix(in srgb, var(--color-primary) 45%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary);border-radius:8px;padding:12px 14px;font-weight:800}.book-modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0712258a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.book-modal-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;width:min(760px,100%);max-height:min(760px,100vh - 48px);padding:18px;overflow:auto;box-shadow:0 24px 80px #07122547}.book-modal-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.book-modal-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.book-modal-header h2,.section-inline-form h4{color:var(--color-text-strong);margin:0}.book-modal-header p,.inline-form-header p{color:var(--color-muted);margin:5px 0 0}.book-modal-close{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-strong);border-radius:8px;font-weight:900}.section-inline-form{border:1px solid var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 7%, var(--color-surface));border-radius:8px;margin:0 0 14px;padding:14px}.section-inline-form.editing{margin-top:10px}.inline-form-header{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.inline-form-icon{background:var(--color-secondary);width:28px;height:28px;color:var(--color-secondary-text);border-radius:999px;place-items:center;font-weight:900;display:grid}.book-section-edit-group{border-radius:8px}.book-section-edit-group.active{border:1px solid var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 4%, var(--color-surface));padding:8px}.book-manage-next{border-top:1px solid var(--color-border);color:var(--color-muted);margin-top:14px;padding-top:12px;font-size:13px}.book-library-page{gap:18px;display:grid}.book-library-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.book-library-header h1{color:var(--color-text-strong);margin:0;font-size:28px}.book-library-header p{color:var(--color-muted);margin:6px 0 0}.book-library-controls{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:12px;padding:14px;display:grid}.book-library-controls.single{grid-template-columns:minmax(0,1fr)}.book-library-controls input,.book-library-controls select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:40px;color:var(--color-text-strong);font:inherit;border-radius:8px;padding:0 12px}.book-library-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.book-library-tabs button{border:1px solid var(--color-border);background:var(--color-surface);height:40px;color:var(--color-text-strong);border-radius:8px;padding:0 13px;font-weight:800}.book-library-tabs button.active{border-color:var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 10%, var(--color-surface));color:var(--color-secondary)}.book-library-grid{align-content:start;gap:12px;display:grid}.book-library-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:14px;display:grid}.book-library-card-body{gap:8px;min-width:0;display:grid}.book-library-card-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.book-library-card-title h2{color:var(--color-text-strong);margin:0;font-size:18px}.book-library-card-body p,.book-library-card-body small{color:var(--color-muted);margin:0}.book-library-card-body a{width:fit-content;color:var(--color-secondary);font-weight:800;text-decoration:none}.book-rating{color:var(--color-text-strong);align-items:center;gap:5px;font-weight:800;display:flex}.book-rating span{color:var(--color-secondary)}.book-rating small{color:var(--color-muted);font-weight:700}.book-progress{grid-template-columns:1fr auto;align-items:center;gap:6px 10px;display:grid}.book-progress span{color:var(--color-muted)}.book-progress strong{color:var(--color-text-strong)}.book-progress div{background:var(--color-surface-soft);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.book-progress i{border-radius:inherit;background:var(--color-secondary);height:100%;display:block}.book-source{background:var(--color-surface-soft);border-radius:8px;padding:8px 10px;font-weight:700;color:var(--color-text-strong)!important}.book-page-title{align-items:center;gap:10px;display:flex}.book-page-title svg{color:var(--color-secondary);flex:none}.book-library-page,.book-explore-page{--book-page-bg:radial-gradient(circle at top right, color-mix(in srgb, var(--color-secondary) 8%, transparent), transparent 38%), var(--color-bg);--book-panel-bg:var(--color-surface);--book-panel-soft:var(--color-surface-soft);--book-panel-border:var(--color-border);--book-text-strong:var(--color-text-strong);--book-text:var(--color-text);--book-muted:var(--color-muted);--book-action:var(--color-secondary);--book-shadow:0 12px 34px #0f172a0f;--book-track:color-mix(in srgb, var(--color-border) 55%, transparent);--book-divider:var(--color-border)}:root:not([data-theme=dark]) .book-library-page .status.active,:root:not([data-theme=dark]) .book-explore-page .status.active{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface))}:root[data-theme=dark] .book-library-page,:root[data-theme=dark] .book-explore-page{--book-page-bg:radial-gradient(circle at top right, #4f46e51f, transparent 38%), linear-gradient(145deg, var(--color-sidebar), #0d1a30 58%, var(--color-sidebar));--book-panel-bg:#ffffff0e;--book-panel-soft:#ffffff13;--book-panel-border:#ffffff1f;--book-text-strong:#fff;--book-text:#dbe4f3;--book-muted:#b8c3d7;--book-action:#9a8cff;--book-shadow:0 18px 60px #00000024;--book-track:#ffffff14;--book-divider:#ffffff17}.book-library-page{background:var(--book-page-bg);min-height:calc(100vh - 72px);color:var(--book-text);align-content:start;margin:-28px;padding:28px}.book-library-header h1,.book-library-card-title h2,.book-rating,.book-library-page .book-progress strong{color:var(--book-text-strong)}.book-library-header p,.book-library-card-body p,.book-library-card-body small,.book-library-page .book-progress span,.book-library-page .book-manage-empty,.book-library-page .book-manage-empty span{color:var(--book-muted)}.book-library-page .book-manage-empty strong{color:var(--book-text-strong)}.book-library-controls,.book-library-card,.exercise-distribution,.book-library-type-filters{background:var(--book-panel-bg);border-color:var(--book-panel-border);box-shadow:var(--book-shadow)}.book-library-controls.explore{grid-template-columns:minmax(0,1fr) 170px auto;align-items:center}.book-library-page>.book-library-controls{min-height:58px;padding:10px 12px}.book-library-controls input,.book-library-controls select,.book-library-tabs button,.book-library-type-filters button{background:var(--book-panel-bg);border-color:var(--book-panel-border);color:var(--book-text-strong)}.book-library-controls input::placeholder{color:var(--book-muted)}.book-library-controls select option{color:var(--color-text-strong)}.book-library-check{color:var(--book-text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.book-library-check input{width:16px;height:16px;accent-color:var(--color-secondary)}.book-library-type-filters{border:1px solid;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.book-library-type-filters button{border:1px solid;border-radius:7px;height:36px;padding:0 13px;font-weight:800}.book-library-tabs button.active,.book-library-type-filters button.active{background:linear-gradient(135deg, var(--color-sidebar-active-from), var(--color-sidebar-active-to));color:#fff;border-color:#0000}:root:not([data-theme=dark]) .book-library-tabs button.active,:root:not([data-theme=dark]) .book-library-type-filters button.active{color:var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 10%, var(--color-surface));border-color:var(--color-secondary)}.book-library-card{padding:0;display:block;overflow:hidden}.book-library-card.priority{border-color:#818cf880}.book-library-card-main{grid-template-columns:92px minmax(0,1fr) minmax(250px,.42fr);align-items:start;gap:16px;padding:12px 14px;display:grid}.book-library-card .book-cover.small{width:88px;height:120px}.book-library-card-body{align-content:start;gap:7px}.book-library-card-body h2{color:var(--book-text-strong);margin:0;font-size:17px;line-height:1.2}.book-library-card-body .status{margin-top:1px}.book-library-card-body .book-rating{margin-top:4px}.book-library-actions{border-top:1px solid var(--book-divider);justify-content:space-between;align-items:center;gap:14px;min-height:42px;padding:0 14px;display:flex}.book-library-action-links{align-items:center;gap:24px;display:flex}.book-library-action-links a{min-height:40px;color:var(--book-action);align-items:center;gap:7px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.book-library-action-links a+a{position:relative}.book-library-action-links a+a:before{content:"";background:var(--book-divider);width:1px;height:18px;position:absolute;left:-12px}.book-library-menu{width:34px;height:34px;color:var(--book-action);background:0 0;border:none;border-radius:7px;place-items:center;display:grid}.book-library-menu:hover{background:var(--book-panel-soft)}.book-source{background:0 0;gap:2px;padding:0;font-size:13px;line-height:1.32;display:grid;color:var(--book-text-strong)!important}.book-source-self{align-items:center;gap:7px;display:inline-flex}.book-progress div,.exercise-distribution-track{background:var(--book-track)}.exercise-distribution{box-shadow:none;border:1px solid;border-radius:8px;align-content:start;align-self:start;gap:10px;padding:12px;display:grid}.exercise-distribution.empty{color:var(--book-muted);font-weight:700}.exercise-distribution-header{display:block}.exercise-distribution-header strong{color:var(--book-text-strong);font-size:13px;font-weight:700}.exercise-distribution-list{gap:8px;display:grid}.exercise-distribution-row{color:var(--book-text);grid-template-columns:64px minmax(84px,1fr) 34px;align-items:center;gap:8px;font-size:12px;line-height:1;display:grid}.exercise-distribution-row strong{color:var(--book-text-strong);text-align:right}.exercise-distribution-track{border-radius:999px;height:8px;overflow:hidden}.exercise-distribution-track i{border-radius:inherit;height:100%;display:block}.type-color-1{background:#22c55e}.type-color-2{background:#60a5fa}.type-color-3{background:#8b5cf6}.type-color-4{background:#f59e0b}.type-color-5{background:#94a3b8}.book-explore-page .book-library-header{margin-bottom:4px}.book-explore-page .book-library-controls.explore{box-shadow:none;background:0 0;border:none;grid-template-columns:minmax(0,1fr) 118px;align-items:center;padding:0}.book-explore-search{position:relative}.book-explore-search input{padding-right:42px}.book-explore-search svg{color:#9a8cff;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.book-explore-filter-button{border:1px solid var(--book-panel-border);background:var(--book-panel-bg);height:40px;color:var(--book-text-strong);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.book-explore-filter-stack{gap:9px;display:grid}.book-explore-filter-stack>span{color:var(--book-muted);font-size:13px}.book-explore-filter-stack .book-library-type-filters{box-shadow:none;background:0 0;border:none;padding:0}.book-explore-secondary-controls{justify-content:space-between;align-items:center;gap:16px;display:flex}.book-explore-secondary-controls label:first-child{color:var(--book-muted);align-items:center;gap:10px;font-size:13px;display:flex}.book-explore-secondary-controls select{border:1px solid var(--book-panel-border);background:var(--book-panel-bg);width:150px;height:38px;color:var(--book-text-strong);font:inherit;border-radius:7px;padding:0 12px;font-weight:700}.book-explore-secondary-controls option{color:var(--color-text-strong)}.book-explore-list{align-content:start;gap:12px;display:grid}.book-explore-card{border:1px solid var(--book-panel-border);background:var(--book-panel-bg);min-height:0;box-shadow:var(--book-shadow);border-radius:8px;gap:12px;padding:14px;display:grid}.book-explore-card .book-cover.small{width:112px;height:150px}.book-explore-card-top{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:18px;display:grid}.book-explore-card-body{align-content:start;gap:8px;min-width:0;display:grid}.book-explore-card-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.book-explore-card-body h2{color:var(--book-text-strong);margin:0;font-size:19px;line-height:1.25}.book-explore-card-body p{color:var(--book-muted);margin:0}.book-explore-meta{color:var(--book-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.book-explore-meta>span{position:relative}.book-explore-meta>span+span:before{content:"";background:#6f7d95;border-radius:999px;width:3px;height:3px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.book-explore-action{color:#22c55e;background:#22c55e24;border:none;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-weight:900;display:inline-flex}.book-explore-action.assigned{color:var(--book-action);background:#9a8cff29}.book-explore-action:disabled{cursor:not-allowed;opacity:.72}.exercise-distribution.segmented{box-shadow:none;background:0 0;border:none;margin-top:0;padding:0}.exercise-distribution.segmented .exercise-distribution-header{display:none}.exercise-distribution.segmented .exercise-distribution-header strong{font-size:13px}.book-explore-distribution-head{color:var(--book-muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.book-explore-distribution-head strong{color:var(--book-text-strong)}.book-explore-distribution-block{gap:6px;max-width:690px;margin-left:130px;display:grid}.exercise-segmented{border:1px solid var(--book-divider);border-radius:7px;overflow:hidden}.exercise-segmented-labels{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));display:grid}.exercise-segmented-labels span{border-right:1px solid var(--book-divider);min-height:32px;color:var(--book-text);justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:flex}.exercise-segmented-bar{background:var(--book-track);height:9px;display:flex}.exercise-segmented-bar i{height:100%}.book-detail-page{gap:18px;display:grid}.book-detail-title{justify-content:space-between;gap:16px;display:flex}.book-detail-title h1,.book-detail-heading-row h2,.book-detail-card h2{color:var(--color-text-strong);margin:0}.book-detail-title p,.book-section-title p,.book-detail-muted{color:var(--color-muted);margin:6px 0 0}.book-detail-copy h2{font-size:28px}.book-detail-heading-row{justify-content:space-between;gap:14px;display:flex}.book-detail-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:14px;padding:18px;display:grid}.book-detail-assignment,.book-detail-note{background:var(--color-surface-soft);color:var(--color-text-strong);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:flex}.book-detail-assignment.muted{color:var(--color-muted);font-weight:600}.book-detail-note{background:color-mix(in srgb, var(--color-secondary) 9%, var(--color-surface));color:var(--color-secondary)}.book-detail-actions{flex-wrap:wrap;gap:10px;display:flex}.book-detail-actions a,.book-detail-actions button,.book-review-form button,.book-detail-section-row a{justify-content:center;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.book-detail-progress-track{background:var(--color-surface-soft);border-radius:999px;width:100%;height:9px;overflow:hidden}.book-detail-progress-track i{border-radius:inherit;background:linear-gradient(135deg, var(--color-secondary), var(--color-accent));height:100%;display:block}.book-detail-section-row{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr) auto;gap:14px}.book-detail-section-progress{gap:7px;display:grid}.book-detail-section-progress span{color:var(--color-muted);font-size:13px}.book-detail-tutor-list,.book-review-list{gap:10px;display:grid}.book-detail-tutor-list article,.book-review-list article{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;gap:5px;padding:12px;display:grid}.book-detail-tutor-list strong,.book-review-list strong{color:var(--color-text-strong)}.book-detail-tutor-list span,.book-detail-tutor-list small,.book-review-list p,.book-review-rating{color:var(--color-muted);margin:0}.book-review-form{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;grid-template-columns:210px minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.book-review-form label,.book-review-stars-field{color:var(--color-text-strong);gap:6px;font-size:13px;font-weight:800;display:grid}.book-review-stars{align-items:center;gap:4px;display:flex}.book-review-stars button{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-muted);border-radius:8px;place-items:center;padding:0;display:grid}.book-review-stars button.active{border-color:color-mix(in srgb, #f59e0b 45%, var(--color-border));background:color-mix(in srgb, #f59e0b 12%, var(--color-surface));color:#f59e0b}.book-review-stars button:hover{color:#f59e0b;border-color:#f59e0b}.book-review-stars-field small{color:var(--color-muted);font-weight:700}.book-review-form select,.book-review-form textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-strong);font:inherit;border-radius:8px;padding:10px 11px}.book-review-form textarea{resize:vertical}.book-review-list article>div{align-items:center;gap:8px;display:flex}.book-review-rating{align-items:center;gap:6px;font-weight:800;display:inline-flex}.book-detail-page .exercise-distribution{background:var(--color-surface);border-color:var(--color-border);box-shadow:none}.book-detail-page .exercise-distribution-header strong,.book-detail-page .exercise-distribution-row strong{color:var(--color-text-strong)}.book-detail-page .exercise-distribution-header span,.book-detail-page .exercise-distribution-row,.book-detail-page .exercise-distribution.empty{color:var(--color-muted)}.book-detail-sections{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:18px}.book-detail-sections h2{color:var(--color-text-strong);margin:0 0 12px}.book-detail-section-list{gap:10px;display:grid}.book-detail-section-row{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;gap:5px;padding:12px;display:grid}.book-detail-section-row strong{color:var(--color-text-strong)}.book-detail-section-row span,.book-detail-section-row small{color:var(--color-muted)}.exercise-manage-page{gap:18px;width:calc(100vw - 306px);max-width:none;display:grid}.exercise-manage-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.exercise-manage-header h1,.exercise-column-title h2,.exercise-editor-panel h2,.exercise-import-panel h2,.exercise-book-status-panel h2{color:var(--color-text-strong);margin:0}.exercise-manage-header p,.exercise-book-selector span,.exercise-import-panel p,.exercise-book-status-header span,.exercise-editor-header p{color:var(--color-muted);margin:6px 0 0}.exercise-book-selector-shell{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:14px;padding:14px;display:grid}.exercise-book-selector{grid-template-columns:minmax(240px,1fr) minmax(220px,1fr);align-items:end;gap:16px;display:grid}.exercise-book-selector label,.exercise-editor-form label,.tag-multi-select label{color:var(--color-text-strong);gap:6px;font-size:13px;font-weight:800;display:grid}.exercise-select-field{min-width:0}.exercise-select-title-row{justify-content:space-between;align-items:center;gap:10px;min-height:36px;display:flex}.exercise-book-selector select,.exercise-editor-form input,.exercise-editor-form select,.exercise-editor-form textarea,.tag-multi-select input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-strong);font:inherit;border-radius:8px;padding:10px 11px}.exercise-manage-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.book-manage-button.compact{min-height:32px;padding:0 10px}.exercise-column,.exercise-editor-panel,.exercise-import-panel,.exercise-editor-section-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:14px}.exercise-editor-section-card{background:var(--color-surface-soft)}.exercise-editor-panel{max-height:none;position:static;overflow:visible}.exercise-column-title{align-items:center;gap:9px;margin-bottom:12px;display:flex}.exercise-column-title.with-action{justify-content:space-between;gap:12px}.exercise-column-title.with-action>div{align-items:center;gap:9px;display:flex}.exercise-section-list,.exercise-list,.exercise-editor-form,.tag-multi-select{gap:10px;display:grid}.exercise-editor-form{border:0;min-inline-size:0;margin:0;padding:0}.exercise-editor-panel-disabled{opacity:.62}.exercise-editor-panel-disabled .exercise-editor-form{pointer-events:none}.exercise-editor-three-pane{grid-template-columns:minmax(260px,.8fr) minmax(360px,1fr) minmax(300px,.86fr);align-items:start;gap:14px;display:grid}.exercise-section-card,.exercise-list-card{border:1px solid var(--color-border);background:var(--color-surface-soft);width:100%;color:var(--color-text);text-align:left;border-radius:8px;gap:5px;padding:12px;display:grid}.exercise-section-card strong,.exercise-list-card strong{color:var(--color-text-strong)}.exercise-section-card span,.exercise-section-card small,.exercise-list-card span,.exercise-list-card small{color:var(--color-muted)}.exercise-section-card.active,.exercise-list-card.active{border-color:var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 8%, var(--color-surface))}.exercise-list-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.exercise-list-meta{justify-items:end;gap:7px;display:grid}.exercise-list-meta small{align-items:center;gap:4px;display:inline-flex}.exercise-editor-panel.empty{color:var(--color-muted)}.exercise-editor-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.exercise-editor-header h2{margin-top:8px}.exercise-editor-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.exercise-block-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.exercise-block-header.compact{margin-bottom:2px}.exercise-block-header h3{color:var(--color-text-strong);margin:0;font-size:16px}.exercise-block-header p{color:var(--color-muted);margin:4px 0 0;font-size:13px;line-height:1.35}.exercise-inline-alert{border:1px solid color-mix(in srgb, var(--color-secondary) 35%, var(--color-border));background:color-mix(in srgb, var(--color-secondary) 8%, var(--color-surface));color:var(--color-secondary);border-radius:8px;align-items:center;gap:8px;padding:10px 11px;font-size:13px;font-weight:800;display:flex}.exercise-inline-alert.error{border-color:color-mix(in srgb, var(--color-error) 45%, var(--color-border));background:color-mix(in srgb, var(--color-error) 7%, var(--color-surface));color:var(--color-error)}.exercise-editor-grid,.exercise-editor-inline,.exercise-editor-actions-row,.exercise-editor-footer{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.exercise-editor-grid{grid-template-columns:110px minmax(0,1fr);display:grid}.exercise-editor-inline label{flex:150px}.exercise-editor-board,.solution-editor{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;gap:12px;padding:12px;display:grid}.exercise-editor-form .field-error{border-color:var(--color-error)}.exercise-editor-board-frame{width:min(100%,360px);margin-inline:auto}.exercise-editor-board-frame.solution{width:min(100%,280px)}.spare-piece-row{grid-template-columns:repeat(6,38px);justify-content:center;gap:7px;width:min(100%,360px);margin-inline:auto;display:grid}.spare-piece-row>*{border:1px solid var(--color-border);background:var(--color-surface);border-radius:7px;width:38px;height:38px}.solution-workspace{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.solution-preview,.solution-move-table{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:4px;padding:10px;display:grid}.solution-preview strong{color:var(--color-text-strong);font-size:13px}.solution-preview span,.solution-move-table span,.solution-move-table p{color:var(--color-muted);font-size:13px}.solution-move-table>div:first-child{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.solution-move-table>div:first-child strong,.solution-move-table li strong{color:var(--color-text-strong)}.solution-move-table ol{gap:6px;max-height:520px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.solution-move-table li{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:7px;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:30px;display:grid;overflow:hidden}.solution-move-table .solution-move-pairs li{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr)}.solution-move-table .solution-move-head{background:var(--color-surface)}.solution-move-table li span{border-right:1px solid var(--color-border);place-items:center;height:100%;display:grid}.solution-move-table li strong{padding:0 9px}.solution-move-cell{align-items:center;gap:7px;min-width:0;display:flex}.solution-move-piece{flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.solution-move-piece svg{width:22px;height:22px;display:block}.solution-move-table .solution-move-pairs li strong+strong{border-left:1px solid var(--color-border);align-items:center;min-height:30px;display:flex}.solution-raw-field{gap:6px;display:grid}.solution-raw-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.solution-raw-title select{width:110px;min-height:34px;padding:0 10px}.tag-chip-list,.tag-option-list{flex-wrap:wrap;gap:7px;display:flex}.tag-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:30px;color:var(--color-text-strong);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-weight:800;display:inline-flex}.tag-chip.selected{border-color:var(--color-secondary);color:var(--color-secondary);background:color-mix(in srgb, var(--color-secondary) 8%, var(--color-surface))}.tag-empty{color:var(--color-muted);font-size:13px}.exercise-editor-check{grid-template-columns:auto 1fr;align-items:center}.exercise-editor-check input{width:18px;height:18px}.exercise-editor-footer{justify-content:flex-end;padding-top:8px}.exercise-import-panel{justify-content:space-between;align-items:center;gap:14px;display:flex}.exercise-book-status-panel{border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);background:var(--color-surface-soft);border-radius:8px;gap:12px;width:100%;padding:12px 14px;display:grid}.exercise-book-status-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.exercise-book-status-header>span{justify-self:center}.exercise-status-create{justify-self:end}.exercise-status-legend{color:var(--color-muted);flex-wrap:wrap;gap:14px;min-width:0;font-size:13px;font-weight:800;display:flex}.exercise-status-legend span{align-items:center;gap:7px;display:inline-flex}.exercise-status-legend i{border-radius:999px;width:13px;height:13px;display:inline-block}.exercise-status-legend i.valid{background:#22c55e}.exercise-status-legend i.invalid{background:#ef4444}.exercise-status-legend i.inactive{background:#c8ced8}.exercise-status-grid{grid-template-columns:repeat(auto-fill,minmax(32px,32px));gap:8px;display:grid}.exercise-status-cell{aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-surface-soft);min-width:32px;color:var(--color-text-strong);font:inherit;cursor:pointer;border-radius:7px;font-size:13px;font-weight:500}.exercise-status-cell.valid{background:color-mix(in srgb, #22c55e 15%, var(--color-surface));color:#16a34a;border-color:#22c55e}.exercise-status-cell.invalid{background:color-mix(in srgb, #ef4444 13%, var(--color-surface));color:#dc2626;border-color:#ef4444}.exercise-status-cell.inactive{border-color:var(--color-border);background:var(--color-surface-soft);color:var(--color-muted)}.exercise-status-cell.selected{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 65%, transparent)}.exercise-status-more{justify-self:center}.exercise-status-empty{border:1px dashed var(--color-border);color:var(--color-muted);border-radius:8px;padding:16px;font-weight:800}.club-manage-page{gap:18px;width:100%;display:grid}.club-manage-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.club-manage-header h1,.club-list-title h2,.club-detail-title-row h2,.club-info-card h3,.club-logo-card h3,.club-tab-preview h3{color:var(--color-text-strong);margin:0}.club-manage-header h1{font-size:26px}.club-manage-header p{color:var(--color-muted);margin:6px 0 0}.club-manage-header .book-manage-button{align-items:center;gap:8px;display:inline-flex}.club-manage-layout{grid-template-columns:minmax(370px,420px) minmax(0,1fr);align-items:stretch;gap:16px;width:100%;display:grid}.club-list-panel,.club-detail-panel,.club-tabs-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.club-list-panel{grid-template-rows:auto auto 1fr auto;align-content:start;gap:14px;width:100%;min-width:0;height:100%;padding:16px;display:grid;position:sticky;top:92px}.club-list-title,.club-list-search,.club-detail-title-row,.club-contact-row,.club-detail-actions,.club-logo-actions,.club-tabs,.club-list-meta,.club-admin-row,.club-pagination{align-items:center;display:flex}.club-list-title{justify-content:space-between}.club-list-title .book-manage-button{align-items:center;gap:8px;display:inline-flex}.club-list-search{gap:8px}.club-list-search label{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:8px;flex:1;align-items:center;gap:8px;min-height:40px;padding:0 11px;display:flex}.club-list-search input{color:var(--color-text-strong);font:inherit;background:0 0;border:0;outline:0;width:100%}.club-list{align-content:start;gap:8px;display:grid}.club-pagination{justify-content:center;gap:8px;padding-top:6px}.club-pagination .book-manage-button{min-width:34px;min-height:34px;padding:0 10px}.club-pagination span{color:var(--color-muted);font-weight:800}.club-list-item{background:var(--color-surface);border:1px solid var(--color-border);color:inherit;text-align:left;border-radius:8px;grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;height:90px;min-height:90px;padding:10px;display:grid}.club-list-item.selected{background:color-mix(in srgb, var(--color-secondary) 7%, var(--color-surface));border-color:var(--color-secondary)}.club-list-item .club-status{place-self:start end}.club-list-copy{align-content:center;gap:4px;min-width:0;display:grid}.club-list-copy strong{color:var(--color-text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.club-list-copy small,.club-list-meta{color:var(--color-muted);font-size:13px}.club-list-meta{flex-wrap:wrap;gap:10px}.club-list-meta span,.club-detail-copy p,.club-contact-row span{align-items:center;gap:6px;display:inline-flex}.club-detail-panel{gap:14px;width:100%;min-width:0;padding:14px;display:grid}.club-detail-hero{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:132px minmax(280px,1fr) auto;align-items:start;gap:18px;padding:22px;display:grid}.club-detail-copy{gap:12px;display:grid}.club-detail-title-row{flex-wrap:wrap;gap:10px}.club-detail-title-row h2{font-size:24px}.club-detail-copy p,.club-contact-row{color:var(--color-text);margin:0}.club-contact-row{flex-wrap:wrap;gap:16px}.club-detail-actions{flex-wrap:wrap;justify-content:end;gap:8px}.club-detail-actions .book-manage-button,.club-logo-actions .book-manage-button,.club-admin-card .book-manage-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.club-summary-grid{grid-template-columns:minmax(340px,1.45fr) repeat(4,minmax(118px,1fr));gap:12px;display:grid}.club-admin-card,.club-metric-card{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;gap:12px;padding:14px;display:grid}.club-admin-actions{gap:8px;display:grid}.club-admin-actions select,.club-admin-picker input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-strong);font:inherit;border-radius:7px;width:100%;min-height:36px;padding:0 10px}.club-admin-picker{position:relative}.club-admin-picker-options{background:var(--color-surface);border:1px solid var(--color-border);z-index:35;border-radius:8px;gap:5px;max-height:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #0f172a2e}.club-admin-picker-options button{color:var(--color-text-strong);text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:2px 9px;min-height:48px;padding:7px;display:grid}.club-admin-picker-options button:hover{background:var(--color-surface-soft)}.club-admin-picker-options button span{background:linear-gradient(135deg, var(--color-secondary), var(--color-accent));color:var(--color-secondary-text);border-radius:999px;grid-row:span 2;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:inline-flex}.club-admin-picker-options button strong{color:var(--color-text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.club-admin-picker-options button small,.club-admin-picker-empty{color:var(--color-muted);font-size:12px}.club-admin-picker-empty{padding:8px}.club-country-combobox{gap:6px;display:grid;position:relative}.club-country-input-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;align-items:center;min-height:38px;display:flex;overflow:hidden}.club-country-input-flag{border-right:1px solid var(--color-border);justify-content:center;align-items:center;min-width:42px;height:100%;font-size:18px;display:inline-flex}.club-country-input-shell input{color:var(--color-text-strong);font:inherit;background:0 0;border:0;outline:0;width:100%;min-height:38px;padding:0 10px}.club-country-options{background:var(--color-surface);border:1px solid var(--color-border);z-index:30;border-radius:8px;gap:4px;max-height:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #0f172a2e}.club-country-options button{color:var(--color-text-strong);font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;min-height:34px;padding:0 8px;font-weight:700;display:flex}.club-country-options button:hover{background:var(--color-surface-soft)}.club-country-empty{color:var(--color-muted);padding:8px;font-size:13px}.country-flag-placeholder{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px;width:16px;height:16px;display:inline-block}.country-flag-icon{border:1px solid #0f172a33;border-radius:2px;width:22px;height:15px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a26}.country-flag-ar,.country-flag-sv,.country-flag-hn,.country-flag-ni{background:linear-gradient(#75aadb 0 33%,#fff 33% 66%,#75aadb 66%)}.country-flag-bo{background:linear-gradient(#d52b1e 0 33%,#f9e300 33% 66%,#007934 66%)}.country-flag-br{background:radial-gradient(circle,#002776 0 18%,#0000 19%),linear-gradient(135deg,#0000 30%,#ffdf00 31% 69%,#0000 70%),#009b3a}.country-flag-ca{background:linear-gradient(90deg,#d52b1e 0 25%,#fff 25% 75%,#d52b1e 75%)}.country-flag-cl{background:linear-gradient(90deg,#0039a6 0 35%,#0000 35%),linear-gradient(#fff 0 50%,#d52b1e 50%)}.country-flag-co{background:linear-gradient(#fcd116 0 50%,#003893 50% 75%,#ce1126 75%)}.country-flag-cr{background:linear-gradient(#002b7f 0 18%,#fff 18% 32%,#ce1126 32% 68%,#fff 68% 82%,#002b7f 82%)}.country-flag-cu,.country-flag-pr{background:linear-gradient(135deg,#d52b1e 0 38%,#0000 39%),repeating-linear-gradient(#0050a4 0 20%,#fff 20% 40%)}.country-flag-do{background:linear-gradient(90deg,#0000 42%,#fff 42% 58%,#0000 58%),linear-gradient(#0000 40%,#fff 40% 60%,#0000 60%),linear-gradient(90deg,#002d62 0 50%,#ce1126 50%)}.country-flag-ec{background:linear-gradient(#fcd116 0 50%,#003893 50% 75%,#ce1126 75%)}.country-flag-es{background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}.country-flag-gt{background:linear-gradient(90deg,#4997d0 0 33%,#fff 33% 67%,#4997d0 67%)}.country-flag-mx{background:linear-gradient(90deg,#006847 0 33%,#fff 33% 67%,#ce1126 67%)}.country-flag-pa{background:linear-gradient(90deg,#fff 0 50%,#d21034 50%) top/100% 50% no-repeat,linear-gradient(90deg,#005293 0 50%,#fff 50%) bottom/100% 50% no-repeat}.country-flag-py{background:linear-gradient(#d52b1e 0 33%,#fff 33% 66%,#0038a8 66%)}.country-flag-pe{background:linear-gradient(90deg,#d91023 0 33%,#fff 33% 67%,#d91023 67%)}.country-flag-uy{background:radial-gradient(circle at 18% 24%,#fcd116 0 12%,#0000 13%),repeating-linear-gradient(#fff 0 11%,#3a75c4 11% 22%)}.country-flag-us{background:linear-gradient(90deg,#3c3b6e 0 42%,#0000 42%) 0 0/100% 54% no-repeat,repeating-linear-gradient(#b22234 0 8%,#fff 8% 16%)}.country-flag-ve{background:linear-gradient(#fcd116 0 33%,#003893 33% 66%,#ce1126 66%)}.club-admin-card>span{color:var(--color-muted)}.club-admin-row{gap:12px}.club-admin-row div:last-child{gap:3px;display:grid}.club-admin-row strong{color:var(--color-text-strong)}.club-admin-row small,.club-admin-empty{color:var(--color-muted)}.club-admin-empty{align-items:center;gap:8px;min-height:42px;display:flex}.club-avatar{background:linear-gradient(135deg, var(--color-secondary), var(--color-accent));color:#fff;border-radius:999px;flex:0 0 48px;place-items:center;height:48px;font-weight:900;display:grid}.club-metric-card{text-align:center;align-content:center;justify-items:center;min-height:126px}.club-metric-card>span{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface));color:var(--color-secondary);border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.club-metric-card strong{color:var(--color-text-strong);font-size:22px}.club-metric-card small{color:var(--color-text)}.club-tabs-card{gap:18px;padding:18px;display:grid}.club-tabs{border-bottom:1px solid var(--color-border);gap:18px;overflow-x:auto}.club-tabs button{color:var(--color-muted);font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:7px;padding:0 10px 13px;font-weight:800;display:flex}.club-tabs button.active{border-color:var(--color-secondary);color:var(--color-secondary)}.club-info-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:14px;display:grid}.club-info-card,.club-logo-card,.club-tab-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:18px}.club-info-card{gap:12px;display:grid}.club-field{grid-template-columns:minmax(120px,.38fr) minmax(0,1fr);gap:16px;display:grid}.club-field span{color:var(--color-muted)}.club-field strong{color:var(--color-text);font-weight:500}.club-logo-card{text-align:center;align-content:start;justify-items:center;gap:18px;display:grid}.club-logo-card h3{justify-self:start}.club-logo-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.club-logo-upload{cursor:pointer}.club-logo-upload input{display:none}.club-success-alert{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));border-color:color-mix(in srgb, var(--color-primary) 28%, var(--color-border));color:var(--color-primary)}.club-invitation-backdrop{z-index:60;background:#0f172a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.club-invitation-modal{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;grid-template-columns:96px minmax(0,1fr);gap:16px;width:min(100%,620px);max-width:620px;padding:22px;display:grid;box-shadow:0 24px 70px #0f172a47}.club-invitation-logo{border:1px solid var(--color-border);color:#fff;text-transform:uppercase;background:linear-gradient(145deg,#171717,#34250c 52%,#b88a2d);border-radius:18px;justify-content:center;align-items:center;width:92px;height:92px;font-size:28px;font-weight:900;display:inline-flex;position:relative;overflow:visible}.club-invitation-logo img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.club-invitation-eyebrow{color:var(--color-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.club-invitation-modal h2{color:var(--color-text-strong);margin:4px 0 8px;font-size:24px}.club-invitation-modal p,.club-invitation-modal small{color:var(--color-muted);margin:0;line-height:1.45}.club-invitation-modal .book-manage-alert,.club-invitation-actions{grid-column:1/-1}.club-logo-card small{color:var(--color-muted);justify-self:start}.club-tab-preview{gap:12px;display:grid}.club-tab-preview p{color:var(--color-muted);margin:0}.club-preview-list{gap:8px;display:grid}.club-preview-row{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;padding:11px 12px;display:flex}.club-preview-row span{color:var(--color-muted)}.club-preview-row strong{color:var(--color-text-strong)}.club-logo{border:1px solid var(--color-border);color:#fff;letter-spacing:0;text-transform:uppercase;flex:none;justify-content:center;align-items:center;font-weight:900;display:inline-flex;position:relative;overflow:visible}.club-logo img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.club-logo-country-flag{background:var(--color-surface);border:1px solid var(--color-border);z-index:2;border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:24px;padding:0 3px;line-height:1;display:inline-flex;position:absolute;bottom:-6px;right:-6px;box-shadow:0 4px 12px #0f172a2e}.club-logo.lg .club-logo-country-flag{min-width:36px;height:30px;bottom:-8px;right:-8px}.club-logo.lg .club-logo-country-flag .country-flag-icon{width:27px;height:18px}.club-logo.sm{border-radius:8px;width:64px;height:64px;font-size:20px}.club-logo.lg{border-radius:16px;width:132px;height:132px;font-size:48px}.club-logo.xl{border-radius:22px;width:220px;height:220px;font-size:92px}.club-logo-gold{background:linear-gradient(145deg,#171717,#34250c 52%,#b88a2d)}.club-logo-blue{background:linear-gradient(145deg,#12305b,#245da5)}.club-logo-green{background:linear-gradient(145deg,#103b2d,#1f7a4c)}.club-logo-mono{background:linear-gradient(145deg,#111827,#6b7280)}.club-status{white-space:nowrap;border-radius:999px;justify-content:center;padding:5px 9px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.club-status-active{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-primary) 24%, transparent);color:var(--color-primary)}.club-status-inactive{background:color-mix(in srgb, #f59e0b 14%, var(--color-surface));color:#b45309;border:1px solid #f59e0b47}.club-dashboard-page{gap:16px;display:grid}.club-dashboard-hero,.club-dashboard-panel,.club-dashboard-card,.club-dashboard-book,.club-dashboard-member,.club-dashboard-metric{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.club-dashboard-hero{grid-template-columns:220px minmax(0,1fr) auto;align-items:start;gap:22px;padding:24px;display:grid}.club-dashboard-hero-copy{gap:12px;display:grid}.club-dashboard-eyebrow{color:var(--color-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:900}.club-dashboard-title-row,.club-dashboard-contact,.club-dashboard-actions,.club-dashboard-section-header,.club-dashboard-member,.club-dashboard-book-actions,.club-dashboard-timeline span{align-items:center;display:flex}.club-dashboard-title-row{flex-wrap:wrap;gap:10px}.club-ranking{color:var(--color-muted);align-items:center;gap:3px;display:inline-flex}.club-ranking svg{color:color-mix(in srgb, var(--color-muted) 45%, transparent)}.club-ranking svg.active{color:#f59e0b;fill:#f59e0b}.club-ranking strong{color:var(--color-text-strong);margin-left:4px;font-size:13px}.club-dashboard-title-row h1{color:var(--color-text-strong);margin:0;font-size:32px}.club-dashboard-hero-copy p{color:var(--color-muted);max-width:760px;margin:0;line-height:1.45}.club-dashboard-contact{color:var(--color-text);flex-wrap:wrap;gap:16px}.club-dashboard-contact span{align-items:center;gap:6px;display:inline-flex}.club-dashboard-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.club-dashboard-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.club-dashboard-metric{text-align:center;align-content:center;justify-items:center;gap:8px;min-height:118px;padding:16px;display:grid}.club-dashboard-metric>span{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface));color:var(--color-secondary);border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.club-dashboard-metric strong{color:var(--color-text-strong);font-size:22px}.club-dashboard-metric small,.club-dashboard-section-header p,.club-dashboard-card p,.club-dashboard-member small,.club-dashboard-member>span,.club-dashboard-book p,.club-dashboard-info-row span,.club-dashboard-progress-line span{color:var(--color-muted)}.club-dashboard-panel{gap:18px;padding:18px;display:grid}.club-dashboard-info-grid,.club-dashboard-stats{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:14px;display:grid}.club-dashboard-card{gap:14px;padding:18px;display:grid}.club-dashboard-card.accent{background:color-mix(in srgb, var(--color-secondary) 7%, var(--color-surface))}.club-dashboard-card h2,.club-dashboard-section-header h2,.club-dashboard-book h3{color:var(--color-text-strong);margin:0}.club-dashboard-info-row,.club-dashboard-progress-line{grid-template-columns:180px minmax(0,1fr);gap:12px;display:grid}.club-dashboard-info-row strong,.club-dashboard-progress-line strong,.club-dashboard-member strong{color:var(--color-text-strong)}.club-dashboard-timeline{gap:10px;display:grid}.club-dashboard-timeline span{color:var(--color-text);gap:8px}.club-dashboard-section{gap:14px;display:grid}.club-dashboard-section-header{justify-content:space-between;gap:12px}.club-dashboard-section-header p{margin:6px 0 0}.club-dashboard-list,.club-dashboard-book-grid{gap:10px;display:grid}.club-dashboard-member{grid-template-columns:48px minmax(0,1fr) minmax(160px,.45fr) auto auto;gap:12px;min-height:72px;padding:12px}.club-dashboard-member.student{grid-template-columns:48px minmax(0,1fr) 100px minmax(180px,260px) auto}.club-dashboard-member.pending{grid-template-columns:48px minmax(0,1fr) minmax(240px,.8fr) minmax(250px,auto)}.club-dashboard-member select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-strong);border-radius:7px;min-height:36px;padding:0 10px}.club-pending-invitations{border-top:1px solid var(--color-border);gap:12px;margin-top:6px;padding-top:14px;display:grid}.club-pending-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.club-pending-title h3{color:var(--color-text-strong);margin:0;font-size:16px}.club-pending-title span{color:var(--color-muted);font-size:13px;font-weight:800}.club-invitation-message{color:var(--color-muted);gap:2px;display:grid}.club-invitation-message strong{color:var(--color-text-strong)}.club-invitation-message small{color:var(--color-muted)}.club-invitation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.club-invitation-action-group{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.club-invitation-action{border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.club-invitation-action.resend{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent);color:var(--color-primary)}.club-invitation-action.cancel{background:color-mix(in srgb, #f59e0b 14%, var(--color-surface));color:#b45309;border:1px solid #f59e0b52}.club-invitation-action:disabled{cursor:not-allowed;opacity:.6}.club-dashboard-member>div{gap:3px;display:grid}.club-dashboard-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.club-dashboard-book{grid-template-columns:104px minmax(0,1fr);align-items:start;gap:16px;min-height:220px;padding:14px;display:grid}.club-dashboard-book-cover{aspect-ratio:3/4;background:linear-gradient(145deg, var(--color-secondary), #111b36);border:1px solid color-mix(in srgb, var(--color-secondary) 45%, var(--color-border));color:var(--color-secondary-text);border-radius:6px;align-items:stretch;gap:8px;min-width:0;padding:9px;display:grid;overflow:hidden}.club-dashboard-book-cover img{object-fit:cover;width:100%;height:100%}.club-dashboard-book-cover strong{color:inherit;align-self:center;font-size:14px;line-height:1.1}.club-dashboard-book-cover small{color:color-mix(in srgb, var(--color-secondary-text) 78%, transparent);font-size:10px;font-weight:800}.club-dashboard-book-main{align-content:start;gap:8px;min-width:0;display:grid}.club-dashboard-book-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.club-dashboard-book-title-row>div{gap:3px;min-width:0;display:grid}.club-dashboard-book-title-row h3{line-height:1.18}.club-dashboard-book-description{color:var(--color-text);min-height:38px;margin:0;line-height:1.35}.club-dashboard-book-meta{color:var(--color-muted);flex-wrap:wrap;gap:6px 12px;font-size:12px;display:flex}.club-dashboard-book-meta>span{position:relative}.club-dashboard-book-meta>span+span:before{background:var(--color-muted);content:"";opacity:.7;border-radius:999px;width:3px;height:3px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.club-book-status-active{color:var(--color-primary);font-weight:900}.club-book-status-inactive{color:#b45309;font-weight:900}.club-dashboard-book-action{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));color:var(--color-primary);white-space:nowrap;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.club-dashboard-book-distribution-head{color:var(--color-muted);justify-content:space-between;align-items:center;gap:10px;margin-top:2px;font-size:12px;display:flex}.club-dashboard-book-distribution-head strong{color:var(--color-text-strong)}.club-dashboard-book-distribution{min-width:0;max-width:100%}.club-dashboard-book-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.club-dashboard-tournament-list{gap:12px;display:grid}.club-dashboard-tournament{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.club-dashboard-tournament-media{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:96px;height:70px;display:inline-flex;overflow:hidden}.club-dashboard-tournament-media img{object-fit:cover;width:100%;height:100%}.club-dashboard-tournament h3{color:var(--color-text-strong);margin:8px 0 4px;font-size:18px}.club-dashboard-tournament p,.club-dashboard-tournament small{color:var(--color-muted);margin:0;font-size:13px;font-weight:800;display:block}.club-dashboard-tournament-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.club-registration-status{border-radius:999px;padding:5px 8px}.club-registration-status.open{color:#166534;background:#16a34a1f}.club-registration-status.closed{color:#b91c1c;background:#dc26261f}.club-registration-status.waitlist{color:#b45309;background:#d9770624}.club-registration-status.finished{color:#475569;background:#64748b29}.club-dashboard-tournament-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.club-tournament-status{text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:1000;display:inline-flex}.club-tournament-status.draft{color:#475569;background:#64748b24}.club-tournament-status.published{color:var(--color-secondary);background:#4f46e51f}.club-tournament-status.active{color:#166534;background:#16a34a1f}.club-tournament-status.finished{color:#334155;background:#0f172a1f}.club-tournament-status.cancelled{color:#b91c1c;background:#dc26261f}.tournament-landing-page{background:var(--color-surface-soft);color:var(--color-text-strong);gap:22px;min-height:100vh;padding:0 24px 24px;display:grid}.tournament-landing-site-header{margin:0 -24px}.tournament-landing-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:24px;display:grid;overflow:hidden}.tournament-landing-media{color:#fff;background-color:#0000;background-image:radial-gradient(circle at 70% 20%,#ffffff59,#0000 24%),linear-gradient(135deg,#111827,#4f46e5 62%,#16a34a);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;align-items:end;min-height:380px;padding:28px;font-size:34px;font-weight:1000;display:flex}.tournament-landing-copy{align-content:center;gap:16px;padding:32px 32px 32px 0;display:grid}.tournament-landing-copy h1{margin:0;font-size:clamp(34px,5vw,64px);line-height:1}.tournament-landing-copy p{color:var(--color-muted);margin:0;font-size:18px;line-height:1.5}.tournament-landing-status{color:#166534;background:#16a34a1f;border-radius:999px;justify-self:start;align-items:center;gap:7px;padding:7px 10px;font-size:13px;font-weight:1000;display:inline-flex}.tournament-landing-actions{flex-wrap:wrap;gap:10px;display:flex}.tournament-landing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tournament-landing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;gap:12px;padding:18px;display:grid}.tournament-landing-card h2{margin:0;font-size:22px}.tournament-detail-row{border-bottom:1px solid var(--color-border);grid-template-columns:24px 150px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;display:grid}.tournament-detail-row svg{color:var(--color-secondary)}.tournament-detail-row span,.tournament-detail-text p,.tournament-landing-club small{color:var(--color-muted)}.tournament-detail-row strong{color:var(--color-text-strong);overflow-wrap:anywhere}.tournament-detail-text{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:10px;padding:12px}.tournament-detail-text h3{margin:0 0 6px;font-size:15px}.tournament-detail-text p{white-space:pre-wrap;margin:0;line-height:1.5}.tournament-landing-club{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;display:grid}.tournament-landing-club>span{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:12px;justify-content:center;align-items:center;width:58px;height:58px;font-weight:1000;display:inline-flex;overflow:hidden}.tournament-landing-club img{object-fit:cover;width:100%;height:100%}.tournament-landing-club strong{font-size:18px;display:block}.club-dashboard-empty{border:1px dashed var(--color-border);color:var(--color-muted);border-radius:8px;margin:0;padding:18px}.club-confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;gap:18px;width:min(460px,100%);max-width:460px;padding:22px;display:grid;box-shadow:0 24px 80px #07122547}.club-confirm-dialog h2{color:var(--color-text-strong);margin:0 0 8px}.club-confirm-dialog p{color:var(--color-muted);margin:0;line-height:1.45}.club-confirm-dialog strong{color:var(--color-text-strong)}.club-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.club-dashboard-book-main .club-status{justify-self:start}.club-dashboard-book-actions{flex-wrap:wrap;gap:8px}.club-dashboard-progress-line{grid-template-columns:minmax(0,1fr) 54px;align-items:center}.club-dashboard-progress-line i{background:var(--color-surface-soft);border-radius:999px;grid-column:1/-1;height:9px;overflow:hidden}.club-dashboard-progress-line b{background:linear-gradient(135deg, var(--color-secondary), var(--color-accent));height:100%;display:block}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.app-sidebar{min-height:auto;position:static}.app-sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.app-header{flex-direction:column;align-items:flex-start}.app-header-actions{justify-content:space-between;width:100%}.app-user-copy{display:none}.app-content{padding:20px}.profile-hero{flex-direction:column;align-items:flex-start}.profile-grid,.profile-fields,.profile-fields-four,.profile-edit-grid{grid-template-columns:1fr}.profile-edit-actions{justify-content:stretch}.profile-edit-actions .book-manage-button{width:100%}.tutor-request-layout,.tutor-request-options,.admin-request-metrics,.admin-request-row{grid-template-columns:1fr}.admin-request-actions{grid-template-columns:1fr;display:grid}.welcome-onboarding{grid-template-columns:1fr;width:auto;min-height:auto;padding:56px 18px 18px;top:50%;left:14px;right:14px;transform:translateY(-50%)}.welcome-onboarding-visual{grid-row:auto;min-height:150px}.welcome-onboarding-visual span{width:86px;height:86px}.welcome-onboarding-copy{min-height:auto}.welcome-onboarding-arrow{top:92px}.tournament-builder-layout,.tournament-builder-fields,.tournament-upload-choice{grid-template-columns:1fr}.tournament-preview-panel{position:static}.tournament-exit-alert-actions{grid-template-columns:1fr}.book-library-page{margin:-20px;padding:20px}.book-manage-header,.book-manage-card-title,.book-manage-panel-header,.club-manage-header,.club-detail-actions,.club-contact-row{flex-direction:column}.book-manage-layout,.book-manage-form-grid,.book-manage-form-grid.section,.book-manage-section-row,.book-manage-filters,.book-detail-hero,.book-detail-metrics,.book-detail-section-row,.book-review-form,.book-library-controls,.book-library-controls.explore,.book-explore-page .book-library-controls.explore,.book-explore-card,.book-library-card-main,.book-library-card,.club-dashboard-hero,.club-dashboard-metrics,.club-dashboard-info-grid,.club-dashboard-stats,.club-dashboard-book-grid,.club-dashboard-tournament,.club-dashboard-member,.club-manage-layout,.club-detail-hero,.club-summary-grid,.club-info-grid,.club-field,.exercise-book-selector-shell,.exercise-book-selector,.exercise-manage-grid,.exercise-editor-grid,.exercise-editor-three-pane,.solution-workspace,.exercise-list-card{grid-template-columns:1fr}.exercise-editor-panel{max-height:none;position:static}.club-dashboard-tournament-media{width:100%}.tournament-landing-hero,.tournament-landing-grid,.tournament-detail-row{grid-template-columns:1fr}.tournament-landing-copy{padding:0 22px 24px}.tournament-landing-media{min-height:260px}.exercise-manage-page{width:100%}.exercise-import-panel{flex-direction:column;align-items:flex-start}.exercise-book-status-panel{max-width:none}.exercise-book-status-header{grid-template-columns:1fr;align-items:flex-start}.exercise-book-status-header>span,.exercise-status-create{justify-self:start}.exercise-block-header{flex-direction:column}.exercise-list-meta{justify-items:start}.book-explore-secondary-controls{flex-direction:column;align-items:flex-start}.book-explore-card-body{padding-right:0}.book-explore-card-top,.book-explore-card-title-row{grid-template-columns:1fr}.book-explore-distribution-block{max-width:none;margin-left:0}.book-explore-action{width:fit-content}.book-library-header,.book-library-card-title{flex-direction:column}.book-manage-left,.club-list-panel{position:static}.club-detail-actions,.club-dashboard-actions,.club-dashboard-section-header,.club-logo-actions{justify-content:stretch;width:100%}.club-detail-actions .book-manage-button,.club-dashboard-actions .book-manage-button,.club-dashboard-section-header .book-manage-button,.club-logo-actions .book-manage-button{width:100%}.club-invitation-backdrop{align-items:end;padding:12px}.club-invitation-modal{grid-template-columns:1fr;padding:18px}.club-invitation-logo{width:74px;height:74px}.club-invitation-actions{grid-template-columns:1fr;display:grid}.club-list-item{grid-template-columns:56px minmax(0,1fr);height:auto;min-height:96px}.club-list-item .club-status{grid-column:1/-1;justify-self:start}.club-logo.sm{width:56px;height:56px}.club-logo.lg,.club-logo.xl{width:150px;height:150px}.book-cover.large{width:100%;max-width:220px}.book-modal-backdrop{align-items:end;padding:12px}.book-modal-panel{border-radius:14px 14px 8px 8px;width:100%;max-height:calc(100vh - 24px)}.book-manage-button{min-height:42px}.book-manage-form-actions{grid-template-columns:1fr;display:grid}}.public-home{background:var(--color-bg);color:var(--color-text);min-height:100vh}.public-header{border-bottom:1px solid var(--color-border);z-index:20;background:#fffffff0;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:14px clamp(18px,4vw,64px);display:flex;position:sticky;top:0}.public-brand{color:var(--color-text-strong);align-items:center;gap:12px;min-width:max-content;text-decoration:none;display:inline-flex}.public-brand-mark{background:linear-gradient(135deg, var(--color-sidebar-active-from), var(--color-sidebar-active-to));color:var(--color-primary-text);border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:900;display:inline-flex}.public-brand strong,.public-brand small{line-height:1.1;display:block}.public-brand strong{font-size:18px;font-weight:900}.public-brand small{color:var(--color-muted);text-transform:uppercase;margin-top:3px;font-size:11px;font-weight:800}.public-nav{flex:1;justify-content:center;align-items:center;gap:clamp(12px,1.6vw,22px);display:flex}.public-nav a{color:var(--color-text);font-size:14px;font-weight:800;text-decoration:none}.public-nav a:hover{color:var(--color-secondary)}.public-header-actions,.public-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.public-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:14px;font-weight:900;text-decoration:none;display:inline-flex}.public-button-primary{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-primary-text)}.public-button-secondary{border:1px solid var(--color-border);color:var(--color-secondary);background:0 0}.public-button-dark{color:#fff;background:#ffffff14;border:1px solid #ffffff2e}.public-button-lg{min-height:48px;padding:0 20px}.public-hero{background:linear-gradient(145deg, #4f46e542, transparent 42%), linear-gradient(315deg, #16a34a29, transparent 32%), var(--color-sidebar);color:#fff;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:34px;min-height:calc(100vh - 76px);padding:clamp(46px,7vw,92px) clamp(18px,4vw,64px) 34px;display:grid}.public-hero-copy{align-content:center;gap:22px;max-width:760px;display:grid}.public-eyebrow{letter-spacing:0;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:900;display:inline-flex}.public-eyebrow.light{color:var(--color-secondary)}.public-eyebrow.dark{color:#ffffffc7}.public-hero .public-eyebrow{color:color-mix(in srgb, var(--color-primary) 74%, #fff)}.public-hero h1{color:#fff;max-width:820px;margin:0;font-size:clamp(46px,6.2vw,84px);line-height:.96}.public-hero h1 span{display:block}.public-hero p{color:#ffffffc7;max-width:620px;margin:0;font-size:clamp(18px,2vw,23px);line-height:1.45}.public-hero-board{aspect-ratio:1;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;align-self:center;padding:18px;position:relative;overflow:hidden;box-shadow:0 28px 90px #00000059}.public-board-grid{border-radius:6px;grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid;overflow:hidden}.public-board-grid span:nth-child(16n+1),.public-board-grid span:nth-child(16n+3),.public-board-grid span:nth-child(16n+5),.public-board-grid span:nth-child(16n+7),.public-board-grid span:nth-child(16n+10),.public-board-grid span:nth-child(16n+12),.public-board-grid span:nth-child(16n+14),.public-board-grid span:nth-child(16n+16){background:#e5e9f2}.public-board-grid span{background:#334155}.public-board-card,.public-board-badge{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ac7;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:10px;display:flex;position:absolute}.public-board-card{flex-direction:column;padding:14px 16px;bottom:30px;left:30px}.public-board-card strong{color:#fff}.public-board-card span{color:#ffffffad;font-size:13px;font-weight:700}.public-board-badge{color:#fff;padding:10px 12px;font-weight:900;top:28px;right:28px}.public-hero-stats{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));align-self:end;gap:12px;display:grid}.public-hero-stats div,.public-value-card,.public-tournament-card,.public-cta{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.public-hero-stats div{background:#ffffff14;border-color:#ffffff24;gap:4px;padding:18px;display:grid}.public-hero-stats strong{color:#fff;font-size:27px}.public-section{gap:24px;padding:clamp(46px,6vw,82px) clamp(18px,4vw,64px);display:grid}.public-featured-grid{grid-template-columns:minmax(0,1fr) minmax(310px,390px);align-items:start}.public-section-heading{grid-column:1/-1;gap:10px;max-width:820px;display:grid}.public-section-heading.compact{max-width:980px}.public-section-heading h2,.public-community-band h2,.public-cta h2{color:var(--color-text-strong);margin:0;font-size:clamp(28px,3.4vw,46px);line-height:1.08}.public-section-heading p{color:var(--color-muted);margin:0;font-size:17px;line-height:1.48}.public-tournament-list,.public-value-grid{gap:14px;display:grid}.public-tournament-card{color:inherit;grid-template-columns:86px minmax(0,1fr) minmax(320px,.95fr);align-items:center;gap:18px;min-height:126px;padding:18px;text-decoration:none;display:grid}.public-tournament-card-link{cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.public-tournament-card-link:hover{border-color:color-mix(in srgb, var(--color-secondary) 35%, var(--color-border));transform:translateY(-2px);box-shadow:0 18px 45px #0f172a1f}.public-tournament-card time{background:color-mix(in srgb, var(--color-secondary) 10%, var(--color-surface));color:var(--color-secondary);text-align:center;border-radius:8px;justify-content:center;align-items:center;height:72px;font-size:13px;font-weight:900;display:flex}.public-tournament-card h3,.public-value-card h3{color:var(--color-text-strong);margin:0}.public-tournament-card h3{font-size:20px}.public-tournament-card span{color:var(--color-muted);align-items:center;gap:6px;margin-top:7px;display:inline-flex}.public-tournament-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.public-tournament-card dt{color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:900}.public-tournament-card dd{color:var(--color-text-strong);margin:4px 0 0;font-size:13px;font-weight:900}.public-see-all{color:var(--color-secondary);justify-self:start;align-items:center;gap:8px;font-weight:900;text-decoration:none;display:inline-flex}.public-value-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-value-card{gap:12px;padding:20px;display:grid}.public-value-card>span{background:color-mix(in srgb, var(--color-secondary) 11%, var(--color-surface));color:var(--color-secondary);border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.public-value-card p{color:var(--color-muted);margin:0;line-height:1.45}.public-community-band{background:linear-gradient(135deg, var(--color-sidebar), var(--color-sidebar-soft));color:#fff;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:28px;padding:clamp(42px,5vw,72px) clamp(18px,4vw,64px);display:grid}.public-community-band h2{color:#fff;max-width:780px;margin-top:10px}.public-community-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.public-community-metrics div{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;gap:4px;padding:18px;display:grid}.public-community-metrics strong{color:#fff;font-size:26px}.public-community-metrics span{color:#ffffffb3;font-weight:800}.public-cta{grid-template-columns:minmax(0,1fr) minmax(340px,520px);align-items:center;gap:22px;margin:clamp(42px,6vw,76px) clamp(18px,4vw,64px);padding:clamp(24px,4vw,38px);display:grid}.public-subscribe-form{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px;display:grid}.public-subscribe-form input{color:var(--color-text-strong);font:inherit;background:0 0;border:none;outline:none;min-height:44px;padding:0 12px}.public-subscribe-form button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-primary-text);font:inherit;border-radius:7px;min-height:44px;padding:0 16px;font-weight:900}.public-subscribe-form button:hover{background:var(--color-primary-hover)}@media (max-width:1060px){.public-header{flex-direction:column;align-items:flex-start}.public-nav{justify-content:flex-start;width:100%;overflow-x:auto}.public-hero,.public-featured-grid,.public-community-band,.public-cta{grid-template-columns:1fr}.public-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.public-header-actions,.public-header-actions .public-button,.public-hero-actions .public-button{width:100%}.public-hero{min-height:auto}.public-hero-board{min-height:300px}.public-hero-stats,.public-tournament-card,.public-tournament-card dl,.public-value-grid,.public-community-metrics,.public-subscribe-form{grid-template-columns:1fr}.public-tournament-card time{justify-self:start;height:48px;padding:0 14px}.public-subscribe-form button{width:100%}}.public-home{color:var(--color-text);background:#f8fafc}.public-header{color:#fff;background:linear-gradient(135deg,#080e1ff5,#0d112ceb),#070f20;border:1px solid #818cf829;border-radius:8px;gap:18px;min-height:76px;padding:0 22px;position:relative;box-shadow:0 18px 42px #03071247}.public-brand{color:#fff;gap:9px}.public-brand-mark{background:linear-gradient(135deg, var(--color-secondary), var(--color-accent));border-radius:3px;width:34px;height:34px;font-size:15px}.public-brand strong{color:#fff;text-transform:uppercase;font-size:18px;line-height:1}.public-brand small{color:#ffffffb8;margin-top:3px;font-size:9px}.public-nav{justify-content:center;gap:22px}.public-nav a{color:#ffffffe6;align-items:center;min-height:76px;font-size:13px;font-weight:800;display:inline-flex;position:relative}.public-nav a.public-nav-active{color:#7c7cff}.public-nav a.public-nav-active:after{content:"";background:#5b5ff4;height:2px;position:absolute;bottom:0;left:0;right:0}.public-header-actions{flex-wrap:nowrap;align-items:center;gap:12px}.public-mobile-menu-button{color:#fff;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:none}.public-header-search{color:#ffffffb3;background:#080d1fb8;border:1px solid #94a3b847;border-radius:8px;align-items:center;gap:10px;width:min(280px,22vw);min-height:42px;padding:0 13px;display:inline-flex}.public-header-search input{color:#fff;font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px;font-weight:700}.public-header-search input::placeholder{color:#ffffff7a}.public-header-icon-button{color:#ffffffe6;opacity:.82;background:0 0;border:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:relative}.public-header-icon-button span{background:var(--color-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-weight:1000;display:inline-flex;position:absolute;top:2px;right:2px}.public-user-menu{position:relative}.public-user-trigger{color:#fff;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;min-height:42px;padding:0;display:inline-flex}.public-user-trigger strong{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:13px;font-weight:900;overflow:hidden}.public-user-avatar{background:color-mix(in srgb, var(--color-secondary) 68%, #fff);color:#fff;border:1px solid #ffffff47;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:1000;display:inline-flex;overflow:hidden}.public-user-avatar img{object-fit:cover;width:100%;height:100%}.public-user-dropdown{z-index:40;background:linear-gradient(135deg,#10142dfa,#12142bf5),#111827;border:1px solid #94a3b82e;border-radius:8px;min-width:260px;padding:12px 0;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 24px 58px #0000005c}.public-user-dropdown a,.public-user-dropdown button{color:#ffffffe0;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:42px;padding:0 18px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.public-user-dropdown a:hover,.public-user-dropdown button:hover{background:#ffffff0f}.public-user-dropdown-separator{background:#ffffff1a;height:1px;margin:10px 0}.public-user-theme-button{justify-content:space-between}.public-user-theme-button>span:first-child{align-items:center;gap:12px;display:inline-flex}.public-user-theme-switch{background:linear-gradient(135deg, var(--color-secondary), var(--color-accent));border-radius:999px;width:36px;height:20px;position:relative}.public-user-theme-switch:after{content:"";background:#fff;border-radius:999px;width:14px;height:14px;position:absolute;top:3px;right:3px}.public-user-logout-button{color:#f87171!important}.public-header-auth-panel{z-index:45;width:min(360px,100vw - 32px);position:absolute;top:calc(100% + 12px);right:22px}.public-header-auth-panel form{border:1px solid var(--color-border);color:var(--color-text-strong);background:linear-gradient(135deg,#fffffffa,#f5f7fbfa),#fff;border-radius:10px;gap:12px;padding:18px;display:grid;box-shadow:0 24px 58px #03071247}.public-header-auth-panel span{color:var(--color-primary);text-transform:uppercase;font-size:12px;font-weight:1000}.public-header-auth-panel h2{color:var(--color-text-strong);font-size:24px;line-height:1.05}.public-header-auth-panel label{color:var(--color-text-strong);gap:7px;font-size:13px;font-weight:900;display:grid}.public-header-auth-panel input{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text-strong);font:inherit;border-radius:8px;min-height:42px;padding:10px 12px}.public-header-auth-panel small{color:var(--color-error);font-size:11px;font-weight:800}.public-header-auth-panel .public-button{justify-content:center;width:100%}.public-search-button{color:#ffffffdb;background:0 0;border:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.public-button{border-radius:5px;min-height:38px;padding:0 17px;font-size:13px}.public-button-secondary{color:#fff;border-color:#fff3}.public-button-secondary:hover{background:#ffffff14}.public-button-primary{background:var(--color-primary);border-color:var(--color-primary)}.public-button-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.public-hero{background-color:#071120;background-image:linear-gradient(90deg,#060d1efa 0%,#060d1ee0 31%,#060d1e57 61%,#0a0b1894 100%),url(/home/chess-hero-wide.png);background-position:50%,100%;background-repeat:no-repeat;background-size:cover,cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;grid-template-columns:minmax(0,580px) 1fr;min-height:230px;padding:26px 26px 18px;display:grid;position:relative}.public-hero-copy{z-index:1;align-content:center;gap:13px;max-width:560px}.public-hero h1{letter-spacing:0;text-shadow:0 2px 20px #00000059;font-size:clamp(36px,4vw,52px);line-height:.98}.public-hero h1 span{color:#6d63ff}.public-hero p{color:#ffffffc7;max-width:460px;font-size:17px;line-height:1.4}.public-hero-actions{margin-top:4px}.public-register-card{color:var(--color-text);z-index:1;background:#fffffff5;border:1px solid #ffffffad;border-radius:8px;place-self:center end;gap:12px;width:100%;max-width:390px;padding:18px;display:grid;box-shadow:0 26px 70px #02061752}.public-auth-floating-card{z-index:60;max-height:calc(100vh - 76px);position:fixed;top:58px;right:20px;overflow-y:auto}.public-register-kicker{color:var(--color-primary);text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.public-register-card h2{color:var(--color-text-strong);margin:0;font-size:24px;line-height:1.12}.public-register-card p{color:var(--color-muted);margin:0;font-size:13px;line-height:1.42}.public-register-form{gap:10px;display:grid}.public-register-form label{gap:5px;display:grid}.public-register-form label>span{color:var(--color-text-strong);font-size:12px;font-weight:900}.public-register-form label>small{color:var(--color-muted);font-size:10px;line-height:1.25}.public-register-form label>small.public-field-error{color:#991b1b;font-weight:800}.public-register-form label>div{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:7px;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:42px;display:grid}.public-register-form label>div:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px #4f46e51a}.public-register-form svg{color:var(--color-secondary);justify-self:center}.public-register-form input{color:var(--color-text-strong);font:inherit;background:0 0;border:0;outline:none;min-width:0;padding:0 10px 0 0}.public-register-form button,.public-register-inline-link{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-primary-text);font:inherit;border-radius:7px;justify-content:center;align-items:center;min-height:42px;padding:0 14px;font-weight:900;text-decoration:none;display:inline-flex}.public-register-form button:hover,.public-register-inline-link:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.public-register-form button:disabled{cursor:progress;opacity:.72}.public-auth-message{color:#991b1b;background:#dc262614;border:1px solid #dc26262e;border-radius:7px;margin:0;padding:9px 10px;font-size:12px;font-weight:800;line-height:1.35}.public-register-card>small{color:var(--color-muted);font-size:11px;line-height:1.35}.public-button-lg{min-height:44px;padding:0 22px;box-shadow:0 14px 34px #16a34a47}.public-button-dark{background:#080f20b8;border-color:#ffffff4d}.public-hero-stats{z-index:1;grid-column:1/-1;align-self:end;gap:34px;margin-top:15px;display:flex}.public-hero-stats div{background:0 0;border:0;grid-template-columns:28px auto;align-items:center;gap:0 10px;padding:0;display:grid}.public-hero-stats svg{color:#665cff;grid-row:1/span 2}.public-hero-stats strong{font-size:22px;line-height:1}.public-hero-stats span{color:#ffffffb8;font-size:12px;font-weight:700}.public-section{padding:18px 24px}.public-featured-grid{grid-template-columns:1fr;gap:14px;padding-top:22px}.public-section-heading{gap:0;max-width:none}.public-section-heading-row{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.public-eyebrow.light{color:#111827;text-transform:none;font-size:22px}.public-eyebrow.light svg{color:#5757f4;fill:#5757f4}.public-see-all{color:#5757f4;font-size:12px;font-weight:900}.public-tournament-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.public-tournament-card{color:inherit;grid-template-columns:1fr;align-content:start;gap:9px;min-height:208px;padding:0 0 12px;text-decoration:none;display:grid;overflow:hidden;box-shadow:0 10px 26px #0f172a14}.public-tournament-media{background-color:#0000;background-image:linear-gradient(#060d1e1a,#060d1e7a),url(/home/chess-hero-wide.png);background-position:50%;background-repeat:repeat,no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:96px;position:relative}.public-tournament-card:nth-child(2) .public-tournament-media{background-position:0}.public-tournament-card:nth-child(3) .public-tournament-media{background-position:50%}.public-tournament-card:nth-child(4) .public-tournament-media{background-position:100%}.public-tournament-media time{color:#fff;background:#5757f4;border-radius:0 0 6px;place-items:center;width:50px;height:58px;line-height:1;display:grid;position:absolute;top:0;left:10px}.public-tournament-media time strong{font-size:23px}.public-tournament-media time span{color:#ffffffdb;margin:0;font-size:11px;font-weight:900}.public-tournament-media>svg{color:#ffffffe6;position:absolute;top:10px;right:11px}.public-tournament-card>div:not(.public-tournament-media),.public-tournament-card p,.public-tournament-tags{padding:0 12px}.public-tournament-card h3{font-size:17px;line-height:1.2}.public-tournament-club{color:var(--color-text-strong);margin-top:5px;font-size:12px;font-weight:900;display:block}.public-tournament-card h3 a{color:inherit;text-decoration:none}.public-tournament-card h3 a:hover{color:var(--color-secondary)}.public-tournament-card span{color:var(--color-muted);margin-top:5px;font-size:11px}.public-tournament-tags{flex-wrap:wrap;gap:6px;display:flex}.public-tournament-tags small{background:color-mix(in srgb, #5757f4 13%, var(--color-surface));color:#5757f4;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.public-tournament-tags .public-tournament-price.free{color:#15803d;background:#dcfce7}.public-tournament-tags .public-tournament-price.paid{color:#5b21b6;background:#ede9fe}.public-tournament-card p{color:var(--color-muted);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.public-tournament-date-line{color:var(--color-muted);align-items:center;gap:6px;padding:0 12px;font-size:12px;display:inline-flex}.public-tournament-status{border-radius:999px;margin-left:auto;padding:4px 9px;font-size:11px;font-weight:900}.public-tournament-status.is-ongoing{color:#1d4ed8;background:#2563eb26}.public-tournament-status.is-open{color:#15803d;background:#22c55e29}.public-tournament-status.is-upcoming{color:#4f46e5;background:#5757f424}.public-tournament-status.is-finished{color:#475569;background:#64748b29}.public-tournament-status.is-cancelled{color:#b91c1c;background:#ef444424}.public-clubs-section{padding-top:0}.public-section-note{color:var(--color-muted);font-size:13px}.public-club-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.public-club-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-height:112px;padding:14px;display:grid}.public-club-logo{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface));color:var(--color-secondary);border-radius:8px;justify-content:center;align-items:center;width:56px;height:56px;font-size:15px;font-weight:1000;display:inline-flex;overflow:hidden}.public-club-logo img{object-fit:cover;width:100%;height:100%}.public-club-card h3,.public-club-card p{margin:0}.public-club-card h3{color:var(--color-text-strong);font-size:16px}.public-club-card p,.public-club-card small{color:var(--color-muted);font-size:12px}.public-empty-state{background:var(--color-surface);border:1px dashed var(--color-border-strong);color:var(--color-muted);border-radius:8px;gap:5px;padding:24px;display:grid}.public-empty-state strong{color:var(--color-text-strong)}.public-tournaments-home-empty{align-items:start;min-height:150px}.public-tournaments-home-empty .public-button{width:fit-content;margin-top:8px}.public-final-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;display:grid}.public-final-cta strong{color:#fff;font-size:clamp(24px,4vw,38px);line-height:1.05;display:block}.public-final-cta small{color:#ffffffb8;margin-top:8px;font-size:14px;display:block}.public-final-cta-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.public-section#academia{padding-top:0}.public-tournaments-page{background:var(--color-background);min-height:100vh;padding:0 18px 18px}.public-tournaments-site-header{margin:0 -18px 18px}.public-tournaments-hero{color:#fff;background:linear-gradient(90deg,#060d1efa,#231f56e6),url(/home/chess-hero-wide.png) 100%/cover no-repeat;border-radius:12px;gap:12px;max-width:1240px;min-height:220px;margin:0 auto 18px;padding:28px 34px;display:grid}.public-tournaments-brand{color:#ffffffc7;letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:1000;text-decoration:none}.public-tournaments-hero>span{color:#9b93ff;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:1000;display:inline-flex}.public-tournaments-hero h1{max-width:720px;font-size:clamp(36px,6vw,64px);line-height:.98}.public-tournaments-hero p{color:#ffffffc2;max-width:620px;font-size:16px;line-height:1.45}.public-tournament-filters{flex-wrap:wrap;gap:9px;max-width:1240px;margin:0 auto 18px;display:flex}.public-tournament-filter{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:900;text-decoration:none}.public-tournament-filter.active{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-text)}.public-tournaments-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1240px;margin:0 auto;display:grid}.public-tournaments-empty{background:var(--color-surface);border:1px dashed var(--color-border-strong);color:var(--color-muted);border-radius:12px;gap:8px;max-width:1240px;margin:0 auto;padding:30px;display:grid}.public-tournaments-empty strong{color:var(--color-text-strong);font-size:20px}.form-error,.form-success{border-radius:8px;padding:11px 12px;font-size:13px;font-weight:900}.form-error{color:#b91c1c;background:#fee2e2}.form-success{color:#15803d;background:#dcfce7}.tournament-registration-page{background:var(--color-background);min-height:100vh;padding:0 18px 34px}.tournament-registration-site-header{margin:0 -18px 28px}.tournament-registration-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text);border-radius:14px;gap:16px;max-width:760px;margin:0 auto;padding:26px;display:grid}.tournament-registration-card h1{color:var(--color-text-strong);font-size:clamp(28px,4vw,42px);line-height:1.05}.tournament-registration-title-row{justify-content:space-between;align-items:start;gap:14px;display:flex}.tournament-registration-price{letter-spacing:.03em;border-radius:999px;flex:none;padding:8px 12px;font-size:12px;font-weight:1000}.tournament-registration-price.free{color:#15803d;background:#dcfce7}.tournament-registration-price.paid{color:#5b21b6;background:#ede9fe}.tournament-registration-card p{color:var(--color-muted);line-height:1.45}.tournament-registration-kicker{color:var(--color-secondary);text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:1000;display:inline-flex}.tournament-registration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tournament-registration-card label,.tournament-registration-payment{gap:8px;font-size:13px;font-weight:900;display:grid}.tournament-registration-card input,.tournament-registration-card select,.tournament-registration-card textarea{background:var(--color-input-bg);border:1px solid var(--color-border);color:var(--color-text);font:inherit;border-radius:8px;min-height:42px;padding:10px 12px;font-weight:700}.tournament-registration-card input[readonly]{color:var(--color-muted)}.tournament-registration-payment{background:color-mix(in srgb, var(--color-secondary) 7%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-secondary) 18%, var(--color-border));border-radius:12px;padding:14px}.tournament-registration-payment strong,.tournament-registration-status{color:var(--color-secondary);align-items:center;gap:8px;font-weight:1000;display:inline-flex}.tournament-registration-status{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));color:var(--color-primary);border-radius:999px;justify-self:start;padding:8px 12px}.tournament-admin-registrations-page{gap:18px;display:grid}.tournament-admin-registrations-page>header,.tournament-admin-registration-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:14px;padding:24px}.tournament-admin-registrations-page>header span{color:var(--color-secondary);text-transform:uppercase;font-size:12px;font-weight:1000}.tournament-admin-registrations-page>header h1{color:var(--color-text-strong);margin-top:8px;font-size:clamp(30px,4vw,44px)}.tournament-admin-registrations-page>header p{color:var(--color-muted);margin-top:8px}.tournament-admin-registration-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.tournament-admin-registration-heading div{gap:4px;display:grid}.tournament-admin-registration-heading strong{color:var(--color-text-strong);font-size:18px}.tournament-admin-registration-heading span,.tournament-admin-registration-heading small{color:var(--color-muted);font-weight:800}.tournament-admin-registration-list{gap:10px;display:grid}.tournament-admin-registration-row{background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:1.25fr .8fr 1fr .9fr auto;align-items:center;gap:12px;padding:14px;display:grid}.tournament-admin-registration-row div,.tournament-admin-registration-row label{gap:4px;display:grid}.tournament-admin-registration-row span,.tournament-admin-registration-row small,.tournament-admin-registration-row label{color:var(--color-muted);font-size:12px;font-weight:800}.tournament-admin-registration-row strong{color:var(--color-text-strong)}.tournament-admin-registration-row input,.tournament-admin-registration-row select{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font:inherit;border-radius:8px;min-height:38px;padding:8px 10px}.tournament-admin-registration-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.tournament-admin-registration-actions a,.tournament-admin-registration-actions button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-strong);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:8px 10px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.public-value-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.public-value-card{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;min-height:104px;padding:18px 22px}.public-value-card>span{background:color-mix(in srgb, #5757f4 12%, var(--color-surface));color:#5757f4;border-radius:999px;grid-row:1/span 3;width:46px;height:46px}.public-value-card:nth-child(2)>span{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));color:var(--color-primary)}.public-value-card:nth-child(3)>span{background:color-mix(in srgb, #2563eb 12%, var(--color-surface));color:#2563eb}.public-value-card:nth-child(4)>span{background:color-mix(in srgb, #f97316 13%, var(--color-surface));color:#f97316}.public-value-card h3{font-size:14px}.public-value-card p{font-size:12px}.public-value-card a{color:#5757f4;align-items:center;gap:5px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.public-community-band{background:#06132c;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(360px,450px);gap:22px;margin:0 24px 26px;padding:16px 24px}.public-community-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.public-community-metrics div{background:0 0;border:0;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:0 12px;padding:0;display:grid}.public-community-metrics svg{color:#6767ff;background:#5757f42e;border-radius:999px;grid-row:1/span 2;width:46px;height:46px;padding:12px}.public-community-metrics strong{font-size:20px}.public-community-metrics span{font-size:12px}.public-subscribe-form{background:#ffffff0f;border-color:#ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px}.public-subscribe-form div{gap:3px;display:grid}.public-subscribe-form strong{color:#fff;font-size:13px}.public-subscribe-form small{color:#ffffffa6;font-size:11px}@media (max-width:1180px){.public-nav{gap:14px}.public-tournament-list,.public-value-grid,.public-club-list,.public-tournaments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-featured-grid{grid-template-columns:1fr}}@media (max-width:820px){.public-header{align-items:stretch;min-height:auto;padding:10px 16px}.public-nav{justify-content:flex-start}.public-hero{grid-template-columns:1fr;padding:34px 18px 24px}.public-register-card{justify-self:stretch;max-width:none}.public-auth-floating-card{width:auto;top:104px;left:18px;right:18px}.public-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.public-tournament-list,.public-value-grid,.public-club-list,.public-community-band,.public-community-metrics,.public-final-cta,.public-tournaments-grid,.tournament-registration-grid,.tournament-admin-registration-row{grid-template-columns:1fr}.public-community-band{margin-inline:18px}}@media (max-width:1024px){.public-header{grid-template-columns:1fr auto;align-items:center;row-gap:10px;display:grid}.public-mobile-menu-button{display:inline-flex}.public-nav{white-space:normal;order:3;grid-column:1/-1;padding-bottom:0;display:none;overflow:visible}.public-nav.is-open{flex-wrap:wrap;display:flex}.public-nav a{min-height:34px}.public-header-actions{order:4;grid-column:1/-1;justify-content:end}.public-hero{grid-template-columns:minmax(0,1fr) 360px;min-height:500px;padding-top:48px}.public-hero h1{max-width:680px}.public-tournament-list,.public-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-community-band{grid-template-columns:1fr}.public-community-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.public-subscribe-form{grid-template-columns:minmax(0,1fr) auto}.public-subscribe-form div{grid-column:1/-1}}@media (max-width:640px){.public-header{grid-template-columns:1fr;padding:12px 14px}.public-brand{min-width:0}.public-brand strong{font-size:16px}.public-header-actions{flex-wrap:wrap;width:100%;display:flex}.public-header-search{flex:100%;width:100%}.public-header-icon-button{flex:0 0 38px}.public-header-actions .public-button{flex:130px;min-width:0;padding:0 10px}.public-user-menu{flex:auto}.public-user-trigger{justify-content:flex-end;width:100%}.public-user-dropdown{max-width:calc(100vw - 28px);left:auto;right:0}.public-header-auth-panel{width:auto;left:14px;right:14px}.public-nav{margin-inline:-14px;padding-inline:14px}.public-hero{background-color:#071120;background-image:linear-gradient(#060d1efa 0%,#060d1ee0 52%,#060d1eb3 100%),url(/home/chess-hero-wide.png);background-position:50%,100%;background-repeat:no-repeat;background-size:cover,cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:auto;padding:36px 16px 22px}.public-hero h1{font-size:clamp(38px,13vw,54px);line-height:1}.public-hero p{font-size:15px}.public-hero-actions{grid-template-columns:1fr;width:100%;display:grid}.public-hero-actions .public-button{width:100%}.public-hero-stats{grid-template-columns:1fr;margin-top:22px}.public-hero-stats div{background:#ffffff12;border:1px solid #ffffff1c;border-radius:8px;padding:12px}.public-section{padding:18px 14px}.public-section-heading-row{align-items:flex-start;gap:10px}.public-eyebrow.light{font-size:18px}.public-tournament-list,.public-value-grid,.public-community-metrics,.public-register-form,.public-subscribe-form,.public-club-list,.public-final-cta,.public-tournaments-grid{grid-template-columns:1fr}.public-final-cta-actions{justify-content:stretch}.public-final-cta-actions>*{flex:180px}.public-tournament-card{min-height:auto}.public-tournament-media{height:120px}.public-value-card{grid-template-columns:46px minmax(0,1fr);padding:16px}.public-community-band{margin:0 14px 18px;padding:16px}.public-community-metrics div{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;padding:12px}.public-register-inline-link{width:100%}.public-auth-floating-card{max-height:calc(100vh - 126px);top:116px;left:14px;right:14px}}.public-header{min-height:66px;padding:0 22px}.public-brand-mark{width:30px;height:30px}.public-brand strong{font-size:16px}.public-brand small{font-size:8px}.public-nav a{min-height:66px}.public-search-button{width:32px;height:32px}.public-button{min-height:42px;padding:0 18px;font-family:inherit}button.public-button,button.public-register-inline-link{cursor:pointer}.public-hero:not(.public-hero-with-register){grid-template-columns:minmax(0,640px) 1fr}.public-register-card{animation:.16s ease-out public-register-in}@keyframes public-register-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.public-header{min-height:auto;padding:12px 14px}.public-nav a{min-height:34px}}.user-management-page{gap:18px;display:grid}.user-management-hero,.user-management-table,.user-management-pagination,.user-management-search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px}.user-management-hero{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.user-management-hero h1{color:var(--color-text-strong);margin:8px 0;font-size:clamp(26px,3vw,40px)}.user-management-hero p{color:var(--color-muted);max-width:740px;margin:0;line-height:1.5}.user-management-summary{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text-strong);border-radius:14px;align-items:center;gap:7px;min-width:230px;padding:16px;display:grid}.user-management-summary svg{color:var(--color-secondary)}.user-management-summary small{color:var(--color-muted)}.user-management-table{display:grid;overflow:hidden}.user-management-search{gap:10px;padding:16px;display:grid}.user-management-search label{color:var(--color-text-strong);font-size:13px;font-weight:900}.user-management-search>div{grid-template-columns:22px minmax(220px,1fr) auto auto;align-items:center;gap:10px;display:grid}.user-management-search svg{color:var(--color-secondary)}.user-management-search input{background:var(--color-input-bg);border:1px solid var(--color-border);color:var(--color-text-strong);font:inherit;border-radius:10px;width:100%;min-height:42px;padding:0 12px}.user-management-row{border-bottom:1px solid var(--color-border);grid-template-columns:64px minmax(170px,.9fr) minmax(140px,.75fr) minmax(230px,1fr) minmax(170px,.75fr) minmax(190px,.8fr) minmax(250px,1fr);align-items:center;gap:14px;padding:14px 18px;display:grid}.user-management-row:last-child{border-bottom:0}.user-management-row.header{background:var(--color-surface-soft);color:var(--color-muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.user-management-id{color:var(--color-secondary);font-weight:900}.user-management-user{align-items:center;gap:12px;min-width:0;display:flex}.user-management-avatar{background:linear-gradient(135deg, var(--color-secondary), #16a34a);color:#fff;border-radius:14px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-weight:900;display:inline-flex}.user-management-user div,.user-management-name-field,.user-management-email,.user-management-role,.user-management-club,.user-management-password{gap:6px;min-width:0;display:grid}.user-management-user strong,.user-management-name-field strong,.user-management-role strong{color:var(--color-text-strong)}.user-management-user span,.user-management-user small,.user-management-email span,.user-management-email small,.user-management-role small,.user-management-role em,.user-management-club small,.user-management-club em{color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;font-style:normal}.user-management-password input{background:var(--color-input-bg);border:1px solid var(--color-border);color:var(--color-text-strong);font:inherit;border-radius:10px;width:100%;min-height:40px;padding:0 12px}.user-management-password input:disabled{cursor:not-allowed;opacity:.62}.user-management-password .book-manage-button,.user-management-pagination .book-manage-button{justify-content:center;width:100%;min-height:38px}.user-management-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:14px;display:flex}.user-management-pagination a,.user-management-pagination span{border:1px solid var(--color-border);color:var(--color-text-strong);border-radius:10px;align-items:center;min-height:38px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.user-management-pagination a.disabled{opacity:.42;pointer-events:none}@media (max-width:1320px){.user-management-row{grid-template-columns:56px minmax(190px,1fr) minmax(160px,.8fr)}.user-management-row.header span:nth-child(4),.user-management-row.header span:nth-child(5),.user-management-row.header span:nth-child(6),.user-management-row.header span:nth-child(7){display:none}.user-management-name-field,.user-management-email,.user-management-club,.user-management-password{grid-column:2/-1}}@media (max-width:760px){.user-management-hero{flex-direction:column;align-items:stretch}.user-management-search>div{grid-template-columns:1fr}.user-management-search svg{display:none}.user-management-row,.user-management-row.header{grid-template-columns:1fr}.user-management-row.header{display:none}.user-management-club,.user-management-password{grid-column:auto}.user-management-pagination{justify-content:stretch}.user-management-pagination>*{flex:140px;justify-content:center}}
