:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-width:320px;background:#f8fafc}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(135deg,#0f172a,#1d4ed8)}.app-nav{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#0f172a,#111827);border-bottom:1px solid rgba(148,163,184,.18);box-shadow:0 10px 25px #0f172a1f}.app-nav a,.app-nav button{text-decoration:none;color:#e2e8f0;background:transparent;border:1px solid rgba(148,163,184,.3);border-radius:999px;padding:.55rem .9rem;font-weight:600}.app-nav .user-pill{margin-left:auto;color:#cbd5e1;border:none;background:#94a3b824;border-radius:999px;padding:.55rem .8rem}.auth-card,.panel,.stat-card,.public-card{background:#fff;border-radius:18px;box-shadow:0 18px 40px #0f172a1f}.auth-card{width:min(100%,420px);padding:2rem}.auth-card h1{margin:0 0 1.5rem}.auth-card label,.stacked-form label{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;font-weight:600}input,textarea,select{border:1px solid #cbd5e1;border-radius:10px;padding:.8rem .9rem;background:#fff}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:12px;padding:.8rem 1.1rem;font-weight:700;transition:transform .15s ease,box-shadow .15s ease}.primary-button{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 8px 16px #2563eb40}.danger-button{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 16px #dc262633}.secondary-button{background:#e2e8f0;color:#0f172a}.ghost-button{background:transparent;color:#2563eb;border:1px solid rgba(37,99,235,.3)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.eyebrow{margin:0 0 .25rem;font-size:.75rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase;color:#3b82f6}.page-shell{max-width:1100px;margin:0 auto;padding:2rem 1rem 3rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.page-header h1{margin:0}.form-panel{margin-bottom:1.5rem}.inline-form,.stacked-form{display:flex;flex-direction:column;gap:.85rem}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{padding:1rem 1.2rem}.stat-card span{color:#475569;display:block;font-size:.9rem}.stat-card strong{display:block;font-size:2rem;margin-top:.5rem}.panel{padding:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:1000;padding:1rem}.modal-card{background:#fff;max-width:560px;width:min(100%,560px);border-radius:18px;box-shadow:0 30px 50px #0f172a33;padding:1.2rem}.modal-card.sm{max-width:420px}.modal-card.lg{max-width:760px;max-height:calc(100vh - 2rem);overflow-y:auto}.modal-card.xl{width:min(100%,1080px);max-width:1080px;max-height:calc(100vh - 2rem);overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h3{margin:0}.icon-button{width:32px;height:32px;border:none;background:#e2e8f0;border-radius:999px;font-size:1.4rem;line-height:1}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.confirm-content p{margin:0;color:#334155}.checkbox-row{display:flex;align-items:center;gap:.6rem;color:#334155;font-weight:600}.player-picker{min-width:0;margin:0;padding:.75rem;border:1px solid #dbe3ec;border-radius:12px}.player-picker legend{padding:0 .35rem;font-weight:700;color:#0f172a}.player-picker-summary{margin:0;color:#64748b;font-size:.9rem}.player-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.select-all-players{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0;padding:.55rem .7rem;border:1px solid #dbe3ec;border-radius:10px;background:#fff;color:#334155;cursor:pointer;text-align:left;transition:border-color .14s ease,background .14s ease,color .14s ease}.select-all-players:hover,.select-all-players.selected{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.select-all-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:8px;background:#f1f5f9;color:#475569}.select-all-players.selected .select-all-icon{background:#dbeafe;color:#1d4ed8}.select-all-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.select-all-copy strong{font-size:.88rem}.select-all-copy small{color:#64748b;font-size:.75rem;font-weight:400}.select-all-indicator{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;padding-left:.5rem;color:#475569;font-size:.75rem;font-weight:700;white-space:nowrap}.select-all-players.selected .select-all-indicator{color:#1d4ed8}.player-search{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem;min-height:42px;padding:0 .75rem;border:1px solid #d8e0e9;border-radius:10px;background:#f8fafc;color:#64748b;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.player-search:focus-within{border-color:#60a5fa;background:#fff;box-shadow:0 0 0 3px #3b82f61f}.player-search input[type=search]{width:100%;min-width:0;padding:.5rem 0;border:0;outline:0;box-shadow:none;background:transparent;color:#0f172a;font-size:.9rem}.player-search input[type=search]::placeholder{color:#94a3b8}.player-search-clear{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:0;border-radius:7px;background:transparent;color:#64748b;cursor:pointer}.player-search-clear:hover{background:#e2e8f0;color:#0f172a}.roster-table-scroll{max-height:220px;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}.roster-picker-table{width:100%;border-collapse:collapse;font-size:.9rem}.roster-picker-table th,.roster-picker-table td{padding:.35rem .65rem;border-bottom:1px solid #edf1f5;text-align:left}.roster-picker-table thead{position:sticky;top:0;z-index:1;background:#f8fafc;color:#64748b;font-size:.75rem;text-transform:uppercase}.roster-picker-table th:first-child,.roster-picker-table td:first-child{width:78px;text-align:center}.roster-picker-table th:last-child,.roster-picker-table td:last-child{width:72px;text-align:right;color:#64748b}.roster-picker-table tbody tr:hover{background:#f8fafc}.roster-picker-table input[type=checkbox]{width:16px;height:16px;margin:0;padding:0;accent-color:#2563eb}.player-search-empty{margin:0;padding:.5rem;color:#64748b}.table-actions,.team-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.team-actions{justify-content:flex-end}.coach-list-panel{display:flex;flex-direction:column;gap:.7rem}.coach-row{margin:0;background:#fff}.coach-actions{display:flex;align-items:center;gap:.4rem}.coach-actions .icon-action{width:38px;height:38px;min-width:38px;padding:0}.coach-identity{display:flex;align-items:center;gap:.75rem;min-width:220px}.coach-avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:12px;background:#eaf2ff;color:#1d4ed8;font-weight:700}.coach-identity>span:last-child{display:flex;flex-direction:column;gap:.1rem}.coach-identity small{color:#64748b;font-size:.82rem}.coach-teams{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.coach-team-tag{padding:.35rem .55rem;border-radius:8px;background:#f1f5f9;color:#475569;font-size:.78rem;font-weight:600}.coach-empty-state{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;color:#64748b;text-align:center}.coach-empty-state svg{color:#94a3b8}.coach-empty-state strong{color:#334155}.coach-empty-state span{max-width:390px;font-size:.9rem}.admin-team-picker{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:.7rem;border:1px solid #dbe3ec;border-radius:10px;max-height:190px;overflow-y:auto}.admin-team-picker legend{padding:0 .35rem;color:#334155;font-size:.82rem;font-weight:700}.admin-team-option{display:flex;align-items:center;gap:.6rem;margin:0;padding:.45rem;border-radius:7px;color:#334155;cursor:pointer}.admin-team-option:hover{background:#f8fafc}.admin-team-option input{width:16px;height:16px;margin:0;accent-color:#2563eb}.field-hint{color:#64748b;font-size:.78rem;font-weight:400}.coach-form .form-field{display:flex;flex-direction:column;gap:.25rem;min-width:0;margin:0;color:#475569;font-size:.78rem;font-weight:700}.coach-form .form-field input{width:100%;color:#0f172a;font-size:.9rem;font-weight:400}.table-actions .icon-action,.team-actions .icon-action{width:38px;height:38px;min-width:38px;padding:0}.table-actions .ghost-button{padding:.6rem .8rem}.event-create-form{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:.8rem 1rem;margin-top:0}.event-create-layout{display:contents}.event-fields{display:flex;flex-direction:column;gap:.65rem;min-width:0}.event-fields .form-field{display:flex;flex-direction:column;gap:.25rem;min-width:0;margin:0;color:#475569;font-size:.78rem;font-weight:700}.event-fields .form-field input,.event-fields .form-field select,.event-fields .form-field textarea{width:100%;color:#0f172a;font-size:.9rem;font-weight:400}.event-create-form .player-picker{grid-column:2;grid-row:1;align-self:stretch}.event-create-form>.form-error,.event-create-form>.modal-actions{grid-column:1 / -1}.event-fields textarea{min-height:82px;max-height:110px}.event-create-form .roster-table-scroll{max-height:min(340px,calc(100vh - 360px))}.create-event-button{display:inline-flex;align-items:center;gap:.5rem}.share-box{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;margin-bottom:1rem;flex-wrap:wrap}.share-box strong{word-break:break-all}.share-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.share-anchor{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.event-actions,.event-toolbar,.share-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.event-toolbar{margin-bottom:1rem}.icon-action{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:40px;height:40px;padding:0 .7rem;border:1px solid #dbe3ec;border-radius:12px;background:#fff;color:#334155;text-decoration:none;transition:background .14s ease,border-color .14s ease,transform .14s ease,color .14s ease}.icon-action:hover{transform:translateY(-1px);background:#f1f5f9;border-color:#94a3b8}.icon-action:disabled{opacity:.55;cursor:not-allowed}.share-action:hover{color:#047857;border-color:#6ee7b7;background:#ecfdf5}.open-public-action:hover{color:#1d4ed8;border-color:#93c5fd;background:#eff6ff}.edit-action:hover{color:#6d28d9;border-color:#c4b5fd;background:#f5f3ff}.delete-action:hover,.delete-text-action:hover{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}.back-button,.event-toolbar .secondary-button{display:inline-flex;align-items:center;gap:.45rem}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:.7rem .85rem;border-radius:10px}.toast-message{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1100;padding:.75rem 1rem;border-radius:12px;color:#fff;background:#0f172a;box-shadow:0 12px 28px #0f172a38}.list-card>div:first-child{min-width:0}@media (max-width: 640px){.list-card{align-items:flex-start;flex-direction:column}.event-actions{width:100%}.share-box{align-items:flex-start;flex-direction:column}.page-header{align-items:flex-start}}@media (max-width: 760px){.event-create-form{grid-template-columns:minmax(0,1fr)}.event-create-form .player-picker,.event-create-form>.form-error,.event-create-form>.modal-actions{grid-column:1;grid-row:auto}.event-create-form .roster-table-scroll{max-height:240px}}.muted-link{margin:.2rem 0 0;color:#64748b;font-size:.8rem;word-break:break-all}.list-card{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;margin-bottom:.75rem}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.action-card{display:flex;flex-direction:column;justify-content:space-between;min-height:140px;padding:1rem;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #dbeafe;text-decoration:none;color:inherit}.action-card strong{font-size:1.05rem}.action-card span{color:#475569;font-size:.9rem}.page-shell>.panel+.panel{margin-top:1.25rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.list-card:last-child{margin-bottom:0}.list-card p{margin:.25rem 0 0;color:#475569}.dashboard-event-card{align-items:center}.dashboard-event-info{flex:1;min-width:0}.dashboard-event-heading{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.event-response-counts{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.65rem}.event-response-counts span{padding:.25rem .5rem;border-radius:7px;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.event-response-counts .yes{background:#ecfdf5;color:#047857}.event-response-counts .no{background:#fff1f2;color:#be123c}.event-response-counts .maybe{background:#fffbeb;color:#b45309}.event-response-counts .pending{background:#f1f5f9;color:#64748b}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.4rem .7rem;font-size:.75rem;font-weight:700}.badge.ok{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.muted{background:#e2e8f0;color:#334155}.table-panel table{width:100%;border-collapse:collapse}.table-panel th,.table-panel td{text-align:left;padding:.8rem .5rem;border-bottom:1px solid #e2e8f0}.statistics-subtitle{margin:.45rem 0 0;color:#64748b}.statistics-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.statistics-metric{display:flex;align-items:center;gap:.8rem;min-width:0;padding:1rem;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 8px 20px #0f172a0d}.metric-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:12px}.metric-icon.players{color:#1d4ed8;background:#eff6ff}.metric-icon.events{color:#7c3aed;background:#f5f3ff}.metric-icon.attendance{color:#047857;background:#ecfdf5}.metric-icon.pending{color:#b45309;background:#fffbeb}.statistics-metric>div{min-width:0}.statistics-metric>div span{display:block;color:#64748b;font-size:.8rem}.statistics-metric strong{display:block;margin-top:.12rem;color:#0f172a;font-size:1.55rem;line-height:1.2}.statistics-panel{padding:0;overflow:hidden}.statistics-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid #e8edf3}.statistics-panel-header h2{margin:0;font-size:1.1rem}.statistics-panel-header p{margin:.25rem 0 0;color:#64748b;font-size:.85rem}.statistics-table-scroll{overflow-x:auto}.statistics-table{width:100%;border-collapse:collapse;white-space:nowrap}.statistics-table th{padding:.75rem .85rem;background:#f8fafc;color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase}.statistics-table td{padding:.7rem .85rem;border-bottom:1px solid #edf1f5;color:#334155;font-size:.9rem}.statistics-table tbody tr:last-child td{border-bottom:0}.statistics-table tbody tr:hover{background:#fbfdff}.statistics-player{display:flex;align-items:center;gap:.65rem;min-width:210px}.player-rank{width:24px;color:#94a3b8;font-size:.72rem;font-variant-numeric:tabular-nums}.player-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#eaf2ff;color:#1d4ed8;font-weight:700}.player-name-cell{display:flex;flex-direction:column;gap:.05rem}.player-name-cell strong{color:#0f172a}.player-name-cell small{color:#94a3b8;font-size:.75rem}.response-count{display:inline-flex;min-width:30px;justify-content:center;padding:.2rem .45rem;border-radius:7px;font-weight:700;font-variant-numeric:tabular-nums}.response-count.yes{background:#ecfdf5;color:#047857}.response-count.no{background:#fff1f2;color:#be123c}.response-count.maybe{background:#fffbeb;color:#b45309}.attendance-cell{display:grid;grid-template-columns:48px minmax(70px,110px);align-items:center;gap:.55rem}.attendance-cell strong{color:#0f172a;font-variant-numeric:tabular-nums}.attendance-track{height:6px;overflow:hidden;border-radius:999px;background:#e2e8f0}.attendance-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#10b981,#059669)}.statistics-empty,.statistics-state{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:180px;padding:1.5rem;color:#64748b;text-align:center}.statistics-empty{flex-direction:column}.statistics-empty svg{color:#94a3b8}.statistics-empty strong{color:#334155}.statistics-empty span{max-width:340px;font-size:.9rem}.response-panel{padding:0;overflow:hidden}.response-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem .9rem}.response-panel-header .eyebrow{margin-bottom:.2rem}.response-panel-header h2{margin:0;font-size:1.2rem}.response-panel-header>div>p:last-child{margin:.25rem 0 0;color:#64748b;font-size:.88rem}.response-total{padding:.4rem .65rem;border-radius:8px;background:#f1f5f9;color:#475569;font-size:.78rem;font-weight:700;white-space:nowrap}.response-progress{height:5px;margin:0 1.3rem .9rem;overflow:hidden;border-radius:999px;background:#e8edf3}.response-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#2563eb);transition:width .22s ease}.response-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:.7rem 1.3rem;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;background:#fbfcfe}.response-summary-item{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:.45rem;padding:.2rem .75rem;color:#64748b;font-size:.78rem}.response-summary-item+.response-summary-item{border-left:1px solid #e2e8f0}.response-summary-item strong{color:#0f172a;font-size:.95rem;font-variant-numeric:tabular-nums}.response-summary-item.yes svg{color:#059669}.response-summary-item.no svg{color:#e11d48}.response-summary-item.maybe svg{color:#d97706}.response-summary-item.pending svg{color:#64748b}.response-table-scroll{overflow-x:auto}.response-table{width:100%;border-collapse:collapse;text-align:left}.response-table th{padding:.7rem 1.3rem;color:#64748b;background:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.response-table td{padding:.7rem 1.3rem;border-top:1px solid #edf1f5;color:#334155;font-size:.88rem}.response-table tbody tr:hover{background:#fafcff}.response-player{display:flex;align-items:center;gap:.65rem;min-width:170px}.response-player-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-weight:700}.response-player>span:last-child{display:flex;flex-direction:column;gap:.05rem}.response-player strong{color:#0f172a}.response-player small{color:#94a3b8;font-size:.75rem}.response-status{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border-radius:8px;font-size:.78rem;font-weight:700;white-space:nowrap}.response-status.yes{background:#ecfdf5;color:#047857}.response-status.no{background:#fff1f2;color:#be123c}.response-status.maybe{background:#fffbeb;color:#b45309}.response-status.pending{background:#f1f5f9;color:#64748b}.response-comment.empty{color:#94a3b8;font-style:italic}.response-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;min-height:180px;padding:1.5rem;color:#64748b;text-align:center}.response-empty svg{color:#94a3b8}.response-empty strong{color:#334155}.response-empty span{max-width:380px;font-size:.88rem}@media (max-width: 640px){.response-panel-header{align-items:flex-start;padding:1rem .9rem .75rem}.response-progress{margin-right:.9rem;margin-left:.9rem}.response-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 0;padding:.65rem .6rem}.response-summary-item{padding:.3rem .45rem;font-size:.73rem}.response-summary-item:nth-child(3){border-left:0}.response-table{min-width:580px}.response-table th,.response-table td{padding-right:.8rem;padding-left:.8rem}}@media (max-width: 820px){.statistics-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.statistics-overview{gap:.55rem}.statistics-metric{gap:.55rem;padding:.75rem .65rem}.metric-icon{width:34px;height:34px}.statistics-metric>div span{font-size:.7rem}.statistics-metric strong{font-size:1.25rem}.statistics-panel-header{align-items:flex-start;padding:.9rem}}.alert{border-radius:10px;padding:.8rem 1rem;margin-top:1rem;font-weight:600}.alert.error{background:#fee2e2;color:#991b1b}.alert.success{background:#dcfce7;color:#166534}.alert.response-closed{display:flex;flex-direction:column;gap:.25rem;background:#fffbeb;color:#92400e;border:1px solid #fde68a}.response-closed span{font-size:.9rem;font-weight:400}.public-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eff6ff;padding:1rem}.public-card{width:min(100%,480px);padding:1.5rem}.stacked-form{margin-top:1rem}textarea{min-height:100px;resize:vertical}@media (max-width: 640px){.page-header,.list-card{flex-direction:column;align-items:flex-start}.app-nav{padding:.85rem 1rem}}
