:root{--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-success-50:#f0fdf4;--color-success-100:#dcfce7;--color-success-500:#22c55e;--color-success-600:#16a34a;--color-success-700:#15803d;--color-warning-50:#fffbeb;--color-warning-100:#fef3c7;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#92400e;--color-danger-50:#fef2f2;--color-danger-100:#fee2e2;--color-danger-500:#ef4444;--color-danger-600:#dc2626;--color-danger-700:#991b1b;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-500:#64748b;--color-gray-700:#334155;--color-gray-900:#0f172a;--color-background:#f8fafc;--color-surface:#fff;--color-text:#0f172a;--color-text-secondary:#64748b;--color-border:#e2e8f0;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 14px #0f172a14;--sidebar-width:248px;--header-height:64px;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ink:var(--color-text);--ink-soft:var(--color-text-secondary);--paper:var(--color-background);--white:var(--color-surface);--line:var(--color-border);--navy:var(--color-primary-700);--navy-soft:var(--color-primary-600);--accent:var(--color-primary-600);--accent-strong:var(--color-primary-700);--mono:var(--font-sans);--sans:var(--font-sans);--display:var(--font-sans);--availability-yes-bg:#dcfce7;--availability-yes-text:#166534;--availability-maybe-bg:#fef3c7;--availability-maybe-text:#92400e;--availability-no-bg:#fee2e2;--availability-no-text:#991b1b;--selection-none-bg:#f1f5f9;--selection-none-text:#334155;--selection-selected-bg:#fef3c7;--selection-selected-text:#78350f;--selection-convened-bg:#dbeafe;--selection-convened-text:#1d4ed8;--selection-confirmed-bg:#dcfce7;--selection-confirmed-text:#166534;--selection-refused-bg:#fee2e2;--selection-refused-text:#991b1b;--meeting-draft-bg:#fef3c7;--meeting-draft-text:#92400e;--meeting-planned-bg:#dbeafe;--meeting-planned-text:#1d4ed8;--meeting-convened-bg:#ede9fe;--meeting-convened-text:#6d28d9;--meeting-done-bg:#dcfce7;--meeting-done-text:#166534;--meeting-cancelled-bg:#fee2e2;--meeting-cancelled-text:#991b1b;--meeting-exempt-bg:#f1f5f9;--meeting-exempt-text:#334155}*{box-sizing:border-box}html{background:var(--color-background)}body{color:var(--color-text);font-family:var(--font-sans)}button,input,select,textarea{font-family:var(--font-sans)}:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{background:var(--color-background);min-width:320px;margin:0;overflow-x:hidden}h1,h2,h3,p{margin:0}a{color:inherit}.app-content a{color:var(--color-primary-700);text-underline-offset:3px;-webkit-text-decoration:underline #1d4ed859;text-decoration:underline #1d4ed859;text-decoration-thickness:1px;transition:color .18s,text-decoration-color .18s}.app-content a:hover{color:var(--color-primary-600);text-decoration-color:currentColor}.app-content a:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:4px;border-radius:2px}.eyebrow{color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.button:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.6}.button-primary{color:#fff;background:var(--color-primary-600);border-color:var(--color-primary-600)}.button-primary:hover{background:var(--color-primary-700);border-color:var(--color-primary-700)}.button-secondary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:center;min-width:72px;padding:8px 11px;color:var(--color-text)!important;text-decoration:none!important}.button-secondary:hover{background:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-text)!important}.button-danger{color:#fff;background:var(--color-danger-600);border-color:var(--color-danger-600)}.button-danger:hover{background:var(--color-danger-700);border-color:var(--color-danger-700)}.quick-links{margin-top:16px}.quick-links a{border-top:1px solid var(--color-border);color:var(--color-text);align-items:center;gap:12px;padding:14px 0;font-size:13px;font-weight:700;text-decoration:none;display:flex}.quick-links a span{color:var(--color-text-secondary);font-size:11px}.quick-links a b{color:var(--color-primary-600);margin-left:auto}.app-content>main{animation:.3s both page-enter}.app-content>main>h1{color:var(--color-gray-900);letter-spacing:-.02em;margin:12px 0 8px;font-size:clamp(24px,3.4vw,32px);font-weight:800;line-height:1.1}.app-content>main>p{max-width:760px;color:var(--color-text-secondary);margin:0 0 24px;font-size:14px}.app-content>main>a{color:var(--color-primary-600);margin-bottom:12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-utility{color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:18px;font-size:11px;display:flex}.page-utility a{color:var(--color-primary-600);text-decoration:none}.page-hero{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.page-hero h1{margin:10px 0 8px!important}.page-hero p{margin-bottom:0!important}.page-hero-stat{border-left:3px solid var(--color-primary-600);background:var(--color-primary-50);border-radius:0 var(--radius-sm) var(--radius-sm) 0;min-width:150px;padding:14px 18px}.page-hero-stat strong{color:var(--color-gray-900);letter-spacing:-.02em;font-size:26px;font-weight:800;display:block}.page-hero-stat span{color:var(--color-text-secondary);text-transform:uppercase;font-size:11px}.section-kicker{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.section-kicker span{color:var(--color-gray-900);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.section-kicker small{color:var(--color-text-secondary);font-size:12px}.filter-panel{margin-bottom:18px!important}.filter-hint{color:var(--color-text-secondary)!important;margin:0!important;font-size:12px!important}.data-panel{padding:22px!important}.data-panel-heading{margin-bottom:18px}.data-panel-heading p{margin:0!important;font-size:12px!important}.table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.players-page table{min-width:780px}.players-page tbody td:nth-child(2){color:var(--color-gray-900);font-weight:700}.players-page tbody td:nth-child(4){color:var(--color-primary-700);font-weight:600}.players-page .column-filter-row th{padding:6px;background:var(--color-gray-50)!important}.players-page .column-filter-row input,.players-page .column-filter-row select{border-radius:5px;width:100%;min-width:74px;min-height:32px;padding:6px 7px;font-size:13px}.players-page .column-filter-row input::placeholder{color:var(--color-gray-300)}.players-page thead tr:first-child th{white-space:nowrap;position:relative}.assign-players-page table{min-width:780px}.assign-players-page thead th{white-space:nowrap;position:relative}.assign-players-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:18px;display:flex}.assign-players-heading h2{margin:0 0 8px}.assign-players-actions{background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;gap:8px;padding:10px;display:flex}.assign-players-actions button{min-height:36px}.assign-filter-bar{background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 16px;padding:14px 16px;display:flex}.assign-filter-bar>div:first-child{gap:4px;display:grid}.assign-filter-bar strong{color:var(--color-text);font-size:13px}.assign-filter-bar span{color:var(--color-text-secondary);font-size:12px}.assign-filter-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assign-filter-controls label{color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.assign-filter-controls select{min-height:36px}.assign-reset-button{white-space:nowrap;min-height:36px!important;color:var(--color-primary-700)!important;background:var(--color-surface)!important;border-color:var(--color-primary-200)!important}.assign-reset-button:hover{color:var(--color-primary-700)!important;background:var(--color-primary-50)!important;border-color:var(--color-primary-600)!important}.column-filter-trigger{vertical-align:middle;place-items:center;width:22px;height:22px;margin-left:5px;line-height:1;min-width:22px!important;min-height:22px!important;color:var(--color-text-secondary)!important;background:0 0!important;border:0!important;border-radius:4px!important;padding:0!important;font-size:14px!important;display:inline-grid!important}.column-filter-trigger:hover{color:var(--color-gray-900)!important;background:var(--color-gray-200)!important}.column-filter-popup{z-index:10;width:220px;color:var(--color-gray-900);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:left;white-space:normal;gap:10px;padding:13px;display:grid;position:absolute;top:calc(100% + 7px);left:8px}.column-filter-popup strong{color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:11px}.column-filter-popup input,.column-filter-popup select{border:1px solid var(--color-border);border-radius:5px;width:100%;min-height:34px;padding:7px 8px;font-size:13px}.popup-age-controls{grid-template-columns:1fr 72px;gap:6px;display:grid}.popup-age-controls select{min-width:0}.column-filter-empty{color:var(--color-gray-300);text-align:center;display:block}.app-content>main section{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-color:var(--color-border)!important}.imports-page>.page-hero{margin-bottom:24px}.imports-steps{flex-wrap:wrap;gap:14px;margin:0 0 24px;padding:0;list-style:none;display:flex}.imports-steps li{color:var(--color-gray-900);background:var(--color-surface);border:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:700;display:flex}.imports-steps-index{color:#fff;background:var(--color-primary-600);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.imports-card-subtitle{max-width:480px;color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.imports-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.imports-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-sm);padding:24px}.imports-card-heading{border-bottom:1px solid var(--color-border);align-items:start;gap:14px;padding-bottom:18px;display:flex}.imports-card-heading h2{margin-top:7px}.imports-card>main{padding:20px 0 0!important}.imports-card>main>a{display:none!important}.imports-card>main>h1{display:none}.imports-card>main>p:first-of-type{margin-bottom:20px}.imports-card>main>section{margin:14px 0!important;padding:16px!important}.imports-card>main>section:first-of-type{margin-top:0!important}.imports-card table{min-width:0;font-size:13px}.imports-card>main>section:has(table){overflow-x:auto}.imports-card th,.imports-card td{padding:8px!important}.app-content>main section h2{color:var(--color-gray-900);letter-spacing:-.01em;font-size:19px;font-weight:700}.app-content input,.app-content select,.app-content textarea{min-height:40px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0;padding:8px 10px;font-size:14px}.app-content input:focus,.app-content select:focus,.app-content textarea:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px #2563eb1f}.app-content button{color:#fff;background:var(--color-primary-600);border:1px solid var(--color-primary-600);border-radius:var(--radius-sm);min-height:40px;padding:8px 14px;font-size:13px;font-weight:600}.app-content button:hover{background:var(--color-primary-700);border-color:var(--color-primary-700)}.app-content button:disabled{cursor:not-allowed;opacity:.6}.app-content table{border-spacing:0;background:var(--color-surface);border-radius:var(--radius-md);border:0;font-size:13px;overflow:hidden;border-collapse:separate!important}.app-content table th:first-child{border-top-left-radius:7px}.app-content table th:last-child{border-top-right-radius:7px}.app-content table tr:last-child td:first-child{border-bottom-left-radius:7px}.app-content table tr:last-child td:last-child{border-bottom-right-radius:7px}.app-content th{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600;background:var(--color-gray-50)!important}.app-content td,.app-content th{border-color:var(--color-border)!important}.app-content tr:hover td{background:var(--color-gray-50)}.mobile-app-page{gap:20px;min-width:0;display:grid}.mobile-app-page>*{min-width:0}.mobile-app-page section{-webkit-overflow-scrolling:touch;overflow-x:auto}.mobile-app-page section>table{min-width:680px}.login-page{color:#f1f5f9;background:var(--color-gray-900);grid-template-columns:minmax(240px,.8fr) minmax(360px,1fr);align-items:center;gap:8vw;min-height:100svh;padding:6vw 10vw;display:grid}.login-brand{align-items:center;gap:10px;font-size:13px;display:flex;position:absolute;top:34px;left:42px}.login-brand-logo{object-fit:contain;flex-shrink:0;width:40px;height:40px}.login-card{max-width:460px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:42px}.login-card h1{color:var(--color-gray-900);letter-spacing:-.02em;margin:14px 0;font-size:clamp(28px,4vw,34px);font-weight:800;line-height:1.1}.login-intro{max-width:320px;color:var(--color-text-secondary);margin-bottom:30px;font-size:13px}.login-field{margin-bottom:17px}.login-field label{color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:11px;display:block}.login-field input{border-color:var(--color-border);width:100%;min-height:46px;font-size:16px}.login-submit{color:#fff;background:var(--color-primary-600);border-radius:var(--radius-sm);border:0;width:100%;min-height:48px;margin-top:8px;font-size:14px;font-weight:700}.login-submit:hover{background:var(--color-primary-700)}.login-error{color:var(--color-danger-700);background:var(--color-danger-50);border-radius:var(--radius-sm);margin-top:16px;padding:10px;font-size:12px}.login-footer{color:#94a3b8;font-size:11px;position:absolute;bottom:32px;left:42px}.configuration-page{color:#f1f5f9;background:var(--color-gray-900);flex-direction:column;justify-content:center;align-items:flex-start;min-height:100svh;padding:64px 12vw;display:flex}.configuration-mark{color:#fff;background:var(--color-primary-600);border-radius:var(--radius-sm);place-items:center;width:48px;height:48px;margin-bottom:34px;font-weight:800;display:grid}.configuration-page h1{color:#f8fafc;letter-spacing:-.02em;margin:14px 0;font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.05}.configuration-page p{color:#cbd5e1;max-width:440px;margin-bottom:22px;font-size:15px}.configuration-page pre{color:var(--color-gray-900);background:var(--color-primary-100);border-radius:var(--radius-sm);margin:0 0 18px;padding:16px 20px;font-size:12px;line-height:1.8}.configuration-page small{color:#94a3b8;font-size:11px}.configuration-page code{color:#f1f5f9}@media (width<=767px){.login-page{flex-direction:column;justify-content:center;align-items:stretch;gap:22px;padding:88px 20px 70px;display:flex}.login-card{width:100%;padding:26px 20px}.login-footer{bottom:20px;left:auto;right:20px}.imports-grid{grid-template-columns:1fr}.page-hero{flex-direction:column;align-items:stretch}.page-hero-stat{min-width:0}.page-utility span{display:none}.mobile-app-page{gap:14px;padding:0 max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))!important}.mobile-app-page>p{margin:0}.mobile-app-page>section{box-shadow:var(--shadow-sm);border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;background:var(--color-surface)!important;margin:0!important;padding:14px!important}.mobile-app-page section>table{min-width:620px}.mobile-app-page section>:not(table) :is(input:not([type=checkbox]):not([type=radio]),select,textarea,button){width:100%;max-width:100%}.mobile-app-page .table-toolbar .actions{width:100%;margin-left:0}.mobile-app-page .table-toolbar .actions button,.mobile-app-page .assign-players-actions button{flex:100%}.mobile-app-page .assign-filter-controls,.mobile-app-page .table-toolbar,.mobile-app-page .section-kicker{align-items:stretch}.mobile-app-page .imports-card{padding:18px}}.app-shell{--mobile-header-height:60px;background:var(--color-background);min-height:100svh;display:flex}.app-sidebar{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);color:#e2e8f0;background:var(--color-gray-900);min-height:100svh;padding:20px 14px 18px;padding-left:max(14px, env(safe-area-inset-left));flex-direction:column;display:flex}.brand-lockup{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark-logo{object-fit:contain;flex-shrink:0;width:40px;height:40px}.brand-mark{background:var(--color-primary-500);color:#fff;letter-spacing:-.02em;border-radius:var(--radius-sm);place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{letter-spacing:-.01em;font-size:14px}.brand-lockup div span{color:#94a3b8;margin-top:3px;font-size:11px}.app-navigation{flex:1}.navigation-group{margin-bottom:22px}.navigation-label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;padding:0 8px 8px;font-size:10px;display:block}.navigation-link{color:#cbd5e1;border-radius:var(--radius-sm);align-items:center;gap:10px;min-height:40px;padding:8px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.navigation-link:hover{color:#fff;background:#ffffff14}.navigation-link-active,.navigation-link-active:hover{color:#fff;background:var(--color-primary-600)}.navigation-code{color:#64748b;min-width:20px;font-size:10px}.navigation-link-active .navigation-code{color:#fffc}.navigation-group-admin{border-top:1px solid #e2e8f024;padding-top:16px}.sidebar-footer{color:#94a3b8;border-top:1px solid #e2e8f024;align-items:center;gap:8px;padding:16px 8px 0;font-size:10px;display:flex}.status-dot{background:var(--color-success-500);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22c55e26}.app-frame{flex:1;min-width:0}.app-topbar{min-height:var(--header-height);border-bottom:1px solid var(--color-border);padding:12px 32px;padding-right:max(32px, env(safe-area-inset-right));background:#fffffff5;justify-content:space-between;align-items:center;gap:16px;display:flex}.app-topbar-title{align-items:center;gap:12px;min-width:0;display:flex}.app-topbar strong{letter-spacing:-.01em;color:var(--color-gray-900);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:16px;font-weight:700;display:block;overflow:hidden}.account-panel{color:var(--color-text-secondary);align-items:center;gap:16px;font-size:12px;display:flex}.account-panel span{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.account-panel button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:40px;color:var(--color-text);background:var(--color-surface);padding:0 14px;font-weight:600}.account-panel button:hover{background:var(--color-gray-100);border-color:var(--color-gray-300)}.app-content{max-width:1440px;padding:28px 32px 64px;padding-bottom:max(64px, calc(24px + env(safe-area-inset-bottom)));padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right));margin:0 auto}.mobile-menu-trigger{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:44px;height:44px;color:var(--color-gray-900);justify-content:center;align-items:center;padding:0;font-size:18px;display:none}.mobile-menu-overlay{display:none}@media (width<=1199px) and (width>=768px){.app-sidebar{flex-basis:200px;width:200px}.app-content{padding:24px 24px 56px}}@media (width<=767px){.app-shell{display:block}.app-sidebar{z-index:60;width:min(300px,84vw);box-shadow:var(--shadow-md);flex-basis:auto;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app-sidebar.is-open{transform:translate(0)}.sidebar-close-button{border-radius:var(--radius-sm);color:#e2e8f0;background:0 0;border:1px solid #e2e8f04d;justify-content:center;align-items:center;width:40px;height:40px;margin-left:auto;font-size:16px;display:inline-flex}.brand-lockup{padding-right:4px}.mobile-menu-overlay{z-index:50;background:#0f172a73;display:block;position:fixed;inset:0}.mobile-menu-trigger{display:inline-flex}.app-topbar{min-height:var(--mobile-header-height);padding:10px 16px;padding-right:max(16px, env(safe-area-inset-right))}.app-topbar strong{font-size:15px}.account-panel span{display:none}.account-panel button{min-height:44px;padding:0 12px}.app-content{padding:0}}.notification-bell{position:relative}.notification-bell-trigger{border-radius:var(--radius-sm,8px);border:1px solid var(--color-gray-200,#e2e8f0);cursor:pointer;background:#fff;place-items:center;width:40px;height:40px;font-size:18px;transition:background .15s,border-color .15s;display:grid;position:relative}.notification-bell-trigger:hover{background:var(--color-gray-100,#f1f5f9);border-color:var(--color-gray-300,#cbd5e1)}.notification-bell-icon{line-height:1}.notification-bell-badge{color:#fff;background:#dc2626;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:-4px;right:-4px}.notification-bell-panel{border:1px solid var(--color-gray-200,#e2e8f0);border-radius:var(--radius-sm,8px);z-index:50;background:#fff;width:320px;max-width:calc(100vw - 32px);max-height:420px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #0f172a1f}.notification-bell-panel-header{border-bottom:1px solid var(--color-gray-100,#f1f5f9);padding:12px 14px;font-size:13px}.notification-bell-empty{color:var(--color-text-secondary,#64748b);padding:16px 14px;font-size:13px}.notification-bell-item{text-align:left;border:none;border-bottom:1px solid var(--color-gray-100,#f1f5f9);cursor:pointer;background:#fff;flex-direction:column;gap:2px;width:100%;padding:10px 14px;font-size:13px;display:flex}.notification-bell-item:hover{background:var(--color-gray-100,#f1f5f9)}.notification-bell-item-unread{background:#eff6ff}.notification-bell-item-unread:hover{background:#dbeafe}.notification-bell-item-title{color:var(--color-gray-900,#0f172a);font-weight:600}.notification-bell-item-body{color:var(--color-text-secondary,#64748b);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.notification-bell-panel-footer{width:100%;color:var(--color-primary-500,#2563eb);text-align:center;cursor:pointer;background:#fff;border:none;padding:10px 14px;font-size:13px;font-weight:600}.notification-bell-panel-footer:hover{background:var(--color-gray-100,#f1f5f9)}@media (width<=640px){.notification-bell-panel{top:var(--mobile-header-height,60px);width:auto;max-width:none;position:fixed;left:8px;right:8px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-header-title{color:var(--color-gray-900);letter-spacing:-.02em;font-size:clamp(24px,3.4vw,32px);font-weight:800;line-height:1.15}.page-header-subtitle{max-width:640px;color:var(--color-text-secondary);margin-top:6px;font-size:14px}.page-header-actions{flex-wrap:wrap;gap:8px;display:flex}.stat-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}@media (width<=1199px){.stat-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.stat-card-grid{grid-template-columns:minmax(0,1fr)}}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:108px;box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:18px;display:flex}.stat-card-label{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.stat-card-value{color:var(--color-gray-900);letter-spacing:-.02em;font-size:28px;font-weight:800}.stat-card-value-muted{color:var(--color-gray-300);font-size:15px;font-weight:600}.stat-card-hint{color:var(--color-text-secondary);font-size:12px}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.empty-state{color:var(--color-text-secondary);background:var(--color-gray-50);border:1px dashed var(--color-border);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:8px;padding:28px 20px;font-size:13px;display:flex}.empty-state-title{color:var(--color-gray-900);font-size:14px;font-weight:700}.loading-state{color:var(--color-text-secondary);align-items:center;gap:10px;padding:20px;font-size:13px;display:flex}.loading-state-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary-600);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite loading-state-spin}@keyframes loading-state-spin{to{transform:rotate(360deg)}}.meeting-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.meeting-card-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.meeting-card-team{color:var(--color-gray-900);font-size:14px;font-weight:700}.meeting-card-day{color:var(--color-text-secondary);font-size:12px;font-weight:600}.meeting-card-opponent{color:var(--color-text);font-size:13px}.meeting-card-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.responsive-filters-toggle{display:none}@media (width<=767px){.responsive-filters-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);align-items:center;gap:8px;margin-bottom:12px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.responsive-filters-body[data-open=false]{display:none}}.dashboard-section{margin-bottom:24px}.dashboard-columns{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:20px;margin-bottom:24px;display:grid}@media (width<=1199px){.dashboard-columns{grid-template-columns:1fr}}.dashboard-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px}.dashboard-panel-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.dashboard-panel-title{color:var(--color-gray-900);font-size:18px;font-weight:700}.dashboard-panel-link{color:var(--color-primary-600);white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.dashboard-panel-link:hover{color:var(--color-primary-700);text-decoration:underline}.dashboard-meetings-list{flex-direction:column;gap:10px;display:flex}.dashboard-meetings-list-compact{display:none}@media (width>=768px){.dashboard-meetings-list-compact{border-top:1px solid var(--color-border);gap:0;display:grid}.dashboard-meetings-list-compact .meeting-card{border:0;border-bottom:1px solid var(--color-border);border-radius:0;padding:12px 4px}.dashboard-meetings-list-cards{display:none}}.dashboard-action-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dashboard-action-item{background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.dashboard-action-item:hover{background:var(--color-primary-50);border-color:var(--color-primary-200)}.dashboard-action-label{color:var(--color-text);font-size:13px;font-weight:500}.dashboard-action-count{color:#fff;background:var(--color-primary-600);border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-greeting-name{text-transform:capitalize}.players-page .page-hero{justify-content:space-between;align-items:center;gap:16px;display:flex}.players-page .eyebrow{color:#6b7280;font-size:12px}.players-page .page-hero h1{margin:0;font-size:28px}.players-page .page-hero p{color:#6b7280;margin:4px 0 0}.filter-panel .section-kicker,.data-panel .section-kicker{align-items:center;gap:12px;margin-bottom:8px;display:flex}.filter-panel .section-kicker button{background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;padding:6px 10px}.data-panel .data-panel-heading button{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px}.table-toolbar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.table-toolbar .actions{gap:8px;margin-left:auto;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 12px}.btn-secondary{color:#065f46;cursor:pointer;background:#eef2ff;border:1px solid #dbeafe;border-radius:8px;padding:8px 12px}.table-scroll{border:1px solid #e6e6e6;border-radius:8px;overflow:auto}table.players-table{border-collapse:collapse;width:100%;font-size:14px}table.players-table thead th{text-align:left;background:#fbfbfb;border-bottom:1px solid #e6e6e6;padding:12px}table.players-table tbody td{border-bottom:1px solid #f1f1f1;padding:12px}tr.row-hover:hover{background:#fbfdff}.column-filter-trigger{cursor:pointer;background:0 0;border:none;margin-left:8px;font-size:12px}.column-filter-popup{z-index:40;background:#fff;border:1px solid #e6e6e6;border-radius:8px;min-width:220px;padding:12px;position:absolute;box-shadow:0 8px 24px #0f172a14}.popup-age-controls{gap:8px;margin-top:8px;display:flex}.selection-badge{color:#1e3a8a;background:#e6f0ff;border-radius:999px;padding:6px 10px;font-weight:600}@media (width<=800px){.players-page .page-hero{flex-direction:column;align-items:flex-start}}.availability-summary-mobile-banner{display:none}@media (width<=767px){.availability-summary-mobile-banner{color:var(--color-primary-700);background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-sm);margin:0 0 16px;padding:10px 14px;font-size:12px;display:block}}.calendar-page{flex-direction:column;gap:20px;display:flex}.calendar-toolbar{justify-content:flex-end;display:flex}.calendar-filter{min-width:min(100%,260px);color:var(--color-text-secondary);flex-direction:column;gap:8px;font-size:12px;font-weight:600;display:flex}.calendar-filter select{min-height:42px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px}.calendar-groups{flex-direction:column;gap:18px;display:flex}.calendar-day-group{background:linear-gradient(180deg, var(--color-surface) 0%, #f8fafc 100%);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px}.calendar-day-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.calendar-day-header h2{color:var(--color-gray-900);margin:0;font-size:18px;font-weight:700}.calendar-day-count{color:var(--color-text-secondary);font-size:12px;font-weight:600}.calendar-meeting-list{gap:12px;display:grid}.calendar-meeting-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:inset 0 1px #ffffffb3}.calendar-meeting-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.calendar-team-block{flex-direction:column;gap:6px;display:flex}.calendar-team-block h3{color:var(--color-gray-900);margin:0;font-size:18px;font-weight:800}.calendar-championship-tag{color:var(--color-primary-700);background:var(--color-primary-100);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-self:flex-start;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.calendar-versus-row{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.calendar-versus-row strong{color:var(--color-gray-900);font-size:15px}.calendar-day-chip{background:var(--color-gray-100);border:1px solid var(--color-border);height:24px;color:var(--color-gray-700);border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.calendar-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calendar-info-item{background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:5px;padding:10px 12px;display:flex}.calendar-info-label{color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.calendar-info-item strong{color:var(--color-gray-900);font-size:13px;line-height:1.4}.calendar-composition-block{border-radius:var(--radius-sm);background:linear-gradient(135deg,#3b82f60d,#10b9810a);border:1px solid #94a3b866;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.calendar-composition-header{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;display:flex}.calendar-composition-list{flex-wrap:wrap;gap:8px;display:flex}.calendar-player-pill{background:var(--color-surface);border:1px solid var(--color-border);min-height:44px;color:var(--color-gray-900);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 1px #0f172a0a}.calendar-player-pill small{color:var(--color-text-secondary);font-size:10px;font-weight:600}.calendar-player-pill.more{justify-content:center;align-items:center;min-width:54px;font-size:12px;display:inline-flex}.calendar-empty-composition{color:var(--color-text-secondary);font-size:12px;font-style:italic}.location-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;min-height:22px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.location-badge-home{color:var(--color-primary-700);background:var(--color-primary-100)}.location-badge-away{color:var(--color-gray-700);background:var(--color-gray-100)}@media (width<=767px){.calendar-toolbar{justify-content:stretch}.calendar-filter{min-width:100%}.calendar-day-group{padding:16px}.calendar-meeting-header{flex-direction:column;align-items:flex-start}.calendar-meta-grid{grid-template-columns:1fr}}.push-settings{border:1px solid var(--color-gray-200,#e2e8f0);border-radius:var(--radius-sm,8px);background:#fff;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.push-settings-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.push-settings-title{color:var(--color-gray-900,#0f172a);margin:0;font-size:14px;font-weight:700}.push-settings-description{color:var(--color-text-secondary,#64748b);margin:0;font-size:13px}.push-settings-hint{color:var(--color-text-secondary,#64748b);margin:0;font-size:12px}.push-settings-error{color:var(--color-danger-600,#dc2626);margin:0;font-size:13px}.push-settings-badge{text-transform:uppercase;letter-spacing:.02em;background:var(--color-gray-100,#f1f5f9);color:var(--color-gray-700,#334155);border-radius:999px;flex-shrink:0;padding:2px 10px;font-size:11px;font-weight:700}.push-settings-badge-enabled{background:var(--color-success-100,#dcfce7);color:var(--color-success-700,#15803d)}.push-settings-badge-denied,.push-settings-badge-error{background:var(--color-danger-100,#fee2e2);color:var(--color-danger-700,#991b1b)}.push-settings-badge-disabled{background:var(--color-warning-100,#fef3c7);color:var(--color-warning-700,#92400e)}.push-settings-button{border:1px solid var(--color-gray-200,#e2e8f0);border-radius:var(--radius-sm,8px);background:var(--color-primary-600,#2563eb);color:#fff;cursor:pointer;align-self:flex-start;min-height:40px;padding:0 16px;font-size:13px;font-weight:600;transition:opacity .15s}.push-settings-button:hover:not(:disabled){opacity:.9}.push-settings-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.push-settings-button{align-self:stretch;width:100%}}.notifications-page{flex-direction:column;gap:16px;display:flex}.notifications-mark-all-button{border:1px solid var(--color-gray-200,#e2e8f0);border-radius:var(--radius-sm,8px);cursor:pointer;background:#fff;min-height:40px;padding:0 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.notifications-mark-all-button:hover:not(:disabled){background:var(--color-gray-100,#f1f5f9);border-color:var(--color-gray-300,#cbd5e1)}.notifications-mark-all-button:disabled{opacity:.5;cursor:not-allowed}.notifications-error{color:#dc2626;font-size:13px}.notifications-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.notification-item{border:1px solid var(--color-gray-200,#e2e8f0);border-radius:var(--radius-sm,8px);background:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.notification-item-unread{border-color:var(--color-primary-500,#2563eb);background:#eff6ff}.notification-item-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notification-item-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.notification-item-title{color:var(--color-gray-900,#0f172a);font-size:14px;font-weight:700}.notification-item-date{color:var(--color-text-secondary,#64748b);flex-shrink:0;font-size:12px}.notification-item-body{color:var(--color-text-secondary,#64748b);margin:0;font-size:13px}.notification-item-link{color:var(--color-primary-500,#2563eb);align-self:flex-start;font-size:12px;font-weight:600}.notification-item-read-button{border:1px solid var(--color-gray-200,#e2e8f0);border-radius:var(--radius-sm,8px);cursor:pointer;white-space:nowrap;background:#fff;flex-shrink:0;min-height:36px;padding:0 12px;font-size:12px;font-weight:600}.notification-item-read-button:hover{background:var(--color-gray-100,#f1f5f9)}@media (width<=640px){.notification-item{flex-direction:column;align-items:stretch}.notification-item-row{flex-direction:column;align-items:flex-start;gap:2px}.notification-item-read-button{align-self:flex-start}}.composition-page{max-width:1400px;color:var(--color-gray-900,#0f172a);margin:0 auto;padding:20px}.composition-back-link{color:var(--color-primary-600,#2563eb);margin-bottom:16px;font-weight:700;text-decoration:none;display:inline-block}.composition-page__header,.composition-card__title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.composition-page__header h1,.composition-card h2{margin:0}.composition-page__header p,.composition-card__title p{color:#64748b;margin:6px 0 0}.composition-eyebrow{color:#1d4ed8;background:#dbeafe;border-radius:999px;margin-bottom:8px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.composition-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;min-height:44px;padding:9px 14px;font-weight:700}.composition-button--secondary{color:#334155;background:#fff;border:1px solid #cbd5e1}.composition-button:disabled{color:#fff;cursor:not-allowed;background:#94a3b8}.composition-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:20px;padding:18px;box-shadow:0 1px 3px #0f172a0f}.composition-meeting-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.composition-meeting-summary>div{background:#f8fafc;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.composition-meeting-summary span,.composition-field span{color:#64748b;font-size:12px;font-weight:700}.composition-list{gap:10px;margin-top:16px;display:grid}.composition-player{border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(240px,1fr) 180px 180px;align-items:end;gap:14px;padding:14px;display:grid}.composition-player__identity{flex-direction:column;gap:4px;display:flex}.composition-player__identity span{color:#64748b;font-size:12px}.composition-field{flex-direction:column;gap:6px;min-width:0;display:flex}.composition-field select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-height:42px;padding:8px 10px;font-size:14px}.composition-message{border-radius:10px;margin-top:16px;padding:12px 14px;font-weight:600}.composition-message--success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.composition-message--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.composition-message--warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.composition-empty-state{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin-top:16px;padding:18px}@media (width<=767px){.composition-page{padding:14px}.composition-page__header h1{font-size:25px}.composition-player{grid-template-columns:1fr;align-items:stretch}.composition-page__header .composition-button,.composition-card__title .composition-button{width:100%}}.convocation-section{margin-top:20px}.convocation-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.convocation-editor__message{grid-column:1/-1}.convocation-editor textarea{resize:vertical}.convocation-response-group{border-radius:var(--radius-sm);min-height:100px;padding:12px}.convocation-response-group h4{margin:0;font-size:12px}.convocation-response-group ul{margin:0;padding:8px 0 0;font-size:13px;list-style:none}.convocation-response-group li+li{margin-top:6px}.convocation-response-group__empty{color:var(--color-text-secondary);margin:8px 0 0;font-size:13px}.convocation-response-group--confirmed{color:#166534;background:#dcfce7}.convocation-response-group--refused{color:#b91c1c;background:#fee2e2}.convocation-response-group--pending{color:#92400e;background:#fef3c7}@media (width<=767px){.convocation-editor,.convocation-response-grid{grid-template-columns:1fr}}.convocation-player-view{background-color:#f8fafc;border:1px solid #dbeafe;border-radius:12px;margin-top:16px;padding:16px}.convocation-player-view p{color:#334155;margin:8px 0;line-height:1.5}.convocation-response-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.composition-button--danger{background-color:#dc2626}.composition-button--danger:hover:not(:disabled){background-color:#b91c1c}.convocation-response-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-top:20px;display:grid}.convocation-response-group{border-radius:12px;padding:14px}.convocation-response-group h4{margin:0 0 10px}.convocation-response-group ul{margin:0;padding-left:20px}.convocation-response-group--pending{color:#92400e;background-color:#fffbeb;border:1px solid #fde68a}.convocation-response-group--confirmed{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.convocation-response-group--refused{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}@media (width<=767px){.convocation-response-grid{grid-template-columns:1fr}.convocation-response-actions{flex-direction:column}.convocation-response-actions .composition-button{width:100%}}.app-content table{overflow:visible!important}
