:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172537;background:#f3f5f8;font-synthesis:none;--accent:#0da38f;--nav:#101c2b;--muted:#758395;--line:#e5eaf0;--surface:#fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:9px;padding:11px 15px;font-weight:650;color:#26364a;background:#edf1f5;transition:background .15s,transform .15s}button:hover{background:#e0e7ef}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:white}button.primary:hover{filter:brightness(.94)}button.dark{background:#172537;color:#fff}button.ghost{background:transparent;border:1px solid var(--line)}button.small{padding:7px 10px;font-size:12px}button.danger{background:#fff0ef;color:#b93737}button svg{vertical-align:middle;margin-right:6px}a{color:var(--accent)}input,select,textarea{width:100%;border:1px solid #dce3eb;border-radius:8px;background:var(--surface);color:inherit;padding:10px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0da38f15}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=color]{padding:3px;height:42px}label{display:block;font-size:12px;font-weight:650;color:#637286;margin:13px 0 6px}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.15}h2{font-size:18px;letter-spacing:-.3px}h3{font-size:14px}p{line-height:1.6}.muted{color:var(--muted);font-size:13px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;text-transform:uppercase;color:var(--accent)}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap{gap:20px}.stack{display:grid;gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 3px 8px #17253703}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;font-size:10px;letter-spacing:.5px;font-weight:750;text-transform:uppercase;background:#eef3f8;color:#637286}.pill.game{color:#008c78;background:#e7f8f2}.pill.practice{color:#6370b2;background:#eff0fb}.pill.going{color:#078765;background:#e3f8ec}.pill.not_going{color:#c25250;background:#fceeed}.pill.maybe{color:#bd8329;background:#fff5df}.pill.no_response{color:#8995a4;background:#f0f3f6}.empty{text-align:center;padding:48px 25px;color:var(--muted)}.empty h2{color:#253449;margin:10px}.empty p{margin-bottom:20px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:12px;font-weight:800;background:#e6f4f0;color:#0a8c79;flex-shrink:0}.badge-number{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#edf1f5;color:#4b5b70;font-weight:800}.app-shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#8697ac;display:flex;flex-direction:column;padding:27px 18px;position:fixed;width:236px;top:0;bottom:0;z-index:5}.brand{font-size:22px;font-weight:850;letter-spacing:-.8px;display:flex;gap:10px;align-items:center;color:#fff}.brand img{width:32px;height:32px}.brand small{font-size:9px;background:#243548;padding:3px 5px;color:#8295ac;border-radius:4px;letter-spacing:1px;margin-left:auto}.team-switch{margin:30px 0 25px;padding:13px;border:1px solid #2b394a;border-radius:10px}.team-switch label{color:#7f92a9;font-size:9px;letter-spacing:1.5px;margin:0 0 7px}.team-switch select{padding:2px;background:transparent;color:white;border:none;font-size:13px;font-weight:700;box-shadow:none}.team-switch option{color:#172537}.nav-label{font-size:9px;font-weight:800;letter-spacing:1.5px;color:#50657d;margin:15px 12px 10px}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;text-align:left;gap:9px;background:none;color:#9aaac0;font-weight:550;padding:12px 14px;font-size:13px;border-radius:8px}.nav button svg{margin:0}.nav button:hover{color:#fff;background:#1e2e40}.nav button.active{background:#1b3d3e;color:#5ce4c5}.sidebar-bottom{margin-top:auto;padding-top:20px}.user-chip{padding:15px 5px 0;margin-top:16px;border-top:1px solid #273748;font-size:12px;color:#fff}.user-chip .muted{font-size:10px}.main{grid-column:2;min-width:0}.topbar{height:73px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between}.breadcrumbs{font-size:12px;color:#8a97a7}.breadcrumbs strong{color:#42546b;font-weight:550}.topbar button{background:transparent;padding:8px}.topbar .user-name{font-size:12px;font-weight:700}.content{padding:32px 35px;max-width:1600px;margin:auto}.page-head{margin-bottom:27px}.page-head p{margin-top:8px}.header-actions{display:flex;gap:8px;align-items:center}.header-actions select{width:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stat{padding:18px 20px}.stat-label{font-size:11px;color:#758395;font-weight:600}.stat-value{font-size:30px;font-weight:750;letter-spacing:-1px;margin:10px 0 5px}.stat-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#0e9d88;background:#e9f7f3}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px}.next-game{background:linear-gradient(110deg,#152538,#203649);border:0;color:#fff;position:relative;overflow:hidden;padding:27px}.next-game:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #ffffff0c;border-radius:50%;right:-80px;top:-35px;pointer-events:none}.next-game h2{font-size:24px;margin:13px 0 7px}.next-game .muted{color:#93a7bc}.next-game .eyebrow{color:#59e2c2}.next-game .game-meta{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0;font-size:12px;color:#c7d5e4}.next-game .game-meta span{display:flex;gap:7px;align-items:center}.next-game button.ghost{border-color:#446076;color:#fff}.attendance-bar{height:7px;display:flex;border-radius:10px;overflow:hidden;background:#e9edf2;margin:16px 0}.attendance-bar span{height:100%}.attendance-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:#7b8a9d}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:4px}.event-row{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.event-row:last-child{border:0}.date-box{min-width:49px;border:1px solid var(--line);border-radius:9px;text-align:center;padding:7px;background:#f8fafc}.date-box span{display:block;color:#9ca6b2;font-size:9px;font-weight:750;text-transform:uppercase}.date-box strong{font-size:23px;line-height:1.2}.event-copy{flex:1;min-width:0}.event-copy h3{margin:5px 0}.event-row .muted{font-size:11px}.event-row button{padding:8px 11px;font-size:11px}.section-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:23px;padding-bottom:10px}.section-tabs button{background:none;font-size:12px}.section-tabs button.active{background:#e5f5f0;color:#098d77}.roster-table{width:100%;border-collapse:collapse;text-align:left}.roster-table th{font-size:9px;font-weight:750;letter-spacing:1px;text-transform:uppercase;color:#8b98a7;padding:13px 12px;background:#f7f9fb}.roster-table td{font-size:12px;padding:14px 12px;border-bottom:1px solid var(--line)}.roster-table tr:hover {background: color-mix(in srgb,var(--accent) 30%,transparent)}.roster-table tr:last-child td{border:0}.table-scroll{overflow:auto}.roles{display:flex;gap:4px}.roles .pill{font-size:9px}.attention{background:#fff7e8;border:1px solid #f1dfb8;border-radius:9px;color:#946a21;padding:12px 15px;font-size:12px;line-height:1.6}.info{background:#edf7fa;border:1px solid #d2e9ef;border-radius:9px;padding:12px;font-size:12px;color:#437b8a}.attendance-actions{display:flex;gap:5px}.attendance-actions button{padding:6px 9px;font-size:10px;font-weight:650;background:#f0f3f6}.attendance-actions button.selected.going{background:#d5f3e3;color:#087654}.attendance-actions button.selected.not_going{background:#ffe0df;color:#b3403f}.attendance-actions button.selected.maybe{background:#fff0c8;color:#ad7923}.lineup-toolbar{margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap}.lineup-toolbar select{width:auto;font-size:12px}.lineup-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:22px}.unit{border:1px solid var(--line);border-radius:10px;padding:15px;background:var(--surface)}.unit-head{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.unit-head .eyebrow{font-size:9px}.unit-positions{display:flex;gap:7px}.unit-positions .slot{flex:1;min-width:0}.unit select{font-size:11px;padding:9px 5px}.slot-label{font-size:9px;color:#98a4b2;margin-bottom:5px;display:block}.special-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.special-grid .unit{padding:13px}.special-grid .unit-head select{width:105px;font-size:11px;padding:5px}.rink{position:relative;aspect-ratio:1.05;background:#f9fcff;border-radius:12px;overflow:hidden;border:1px solid #dfe9f2;margin-bottom:12px;touch-action:none}.rink>svg{position:absolute;inset:0;width:100%;height:100%}.rink-player{position:absolute;transform:translate(-50%,-50%);width:72px;text-align:center;user-select:none}.rink-player b{display:grid;place-items:center;margin:0 auto;width:29px;height:29px;border-radius:50%;background:#172e45;color:#fff;font-size:11px;border:2px solid white;box-shadow:0 2px 5px #15304726}.rink-player span{font-size:9px;font-weight:650;color:#334b62;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.rink-player.editor{cursor:grab}.rink-player.editor b{background:var(--accent);width:35px;height:35px}.special-slots{display:grid;gap:5px}.special-slots label{display:flex;gap:7px;margin:0;align-items:center;font-size:9px}.special-slots select{flex:1}.special-slots .position-num{border-radius:50%;background:#edf1f6;padding:3px 6px;color:#8897a8}.lineup-footer{padding:14px 0;font-size:11px;color:#8a98a8}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.login-art{background:#101c2b;padding:45px 65px;color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art .brand{margin-bottom:75px}.login-art h1{font-size:64px;letter-spacing:-3px;max-width:500px;line-height:1.03}.login-art h1 em{font-style:normal;color:#4de3be}.login-art p{color:#a4b3c5;max-width:420px;margin-top:23px;font-size:15px}.login-art .rink{width:340px;max-width:100%;margin:28px 0;background:#1c2c40;border-color:#2b4057;opacity:.8;transform:rotate(-8deg);align-self:center}.login-art .rink svg{opacity:.55}.login-art .eyebrow{margin-bottom:17px}.login-form{padding:60px;display:flex;align-items:center;justify-content:center}.login-form-inner{width:100%;max-width:370px}.login-form h1{font-size:30px;margin-bottom:10px}.login-form p{margin-bottom:24px}.login-form form button{width:100%;margin-top:18px}.login-form .divider{height:1px;background:var(--line);margin:25px 0}.login-foot{font-size:11px;color:#8391a2;margin-top:25px}.login-options{display:flex;gap:10px}.login-options button{flex:1}dialog{border:1px solid var(--line);border-radius:16px;padding:26px;width:570px;max-width:calc(100vw - 25px);max-height:90vh;overflow:auto;background:var(--surface);color:inherit;box-shadow:0 30px 100px #13243835}dialog::backdrop{background:#0b162c70;backdrop-filter:blur(3px)}dialog h2{margin-bottom:8px}dialog .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}dialog .close{float:right;background:none;padding:0 4px;font-size:22px;color:#8795a5}dialog .check-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:450;margin:9px 0;color:inherit}.check-row{display:flex;gap:14px}.form-error{color:#bf4242;font-size:12px;margin-top:12px;line-height:1.5}.form-error:empty{display:none}.message{padding:13px;border-bottom:1px solid var(--line)}.message strong{font-size:12px}.message time{font-size:10px;color:var(--muted);margin-left:10px}.message p{font-size:13px;margin-top:5px;white-space:pre-wrap}.chat-feed{max-height:460px;overflow:auto;min-height:180px}.chat-compose{display:flex;gap:8px;margin-top:18px}.chat-compose input{flex:1}.notification{padding:17px 0;border-bottom:1px solid var(--line)}.notification p{font-size:12px;margin:6px 0}.switches{display:grid;gap:10px;margin-top:18px}.switches label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:500;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.setup-formations{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.setup-formations .rink{margin-top:12px}.setup-formations h3{font-size:13px}.season-archive{padding:10px 0;border-bottom:1px solid var(--line)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#16283a;color:#fff;border-radius:10px;padding:13px 20px;font-size:12px;box-shadow:0 5px 25px #12223530;z-index:30;display:none;max-width:90vw}#toast.visible{display:block}#print-sheet{display:none}.mobile-menu{display:none}.logo-team{width:38px;height:38px;object-fit:contain}.progress-puck{width:25px;height:7px;border-radius:50%;background:#637486}.hidden{display:none!important}body.dark{--surface:#172637;--line:#2c3b4c;--muted:#98a9bd;background:#101c2b;color:#dce6f1}body.dark .stat-value,body.dark h1,body.dark h2{color:#eef4fb}body.dark input,body.dark select,body.dark textarea{border-color:#3a4a5d}body.dark .roster-table th,body.dark .date-box{background:#1d3043}body.dark .badge-number{background:#2a3e53;color:#c7d5e4}body.dark .breadcrumbs strong{color:#c7d5e4}body.dark .login{background:#172637}body.dark button.ghost{color:#dce6f1}body.dark .empty h2{color:#eef4fb}
dialog.print-preview{width:1050px}.print-preview-sheet{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dde3e9;background:#fff;color:#172537}.print-preview-sheet .print-panel{padding:15px;border-right:1px dashed #aaa;min-width:0}.print-preview-sheet .print-panel:last-child{border:0}.print-preview-sheet .print-team{padding-bottom:12px;border-bottom:2px solid #222;margin-bottom:12px;display:flex;gap:10px;align-items:center}.print-preview-sheet .print-team img{width:35px;height:35px;object-fit:contain}.print-preview-sheet .print-team h2{font-size:14px;margin:0 0 5px}.print-preview-sheet .print-meta{font-size:10px;line-height:1.6;margin-bottom:15px}.print-preview-sheet h3{font-size:11px;margin:12px 0 6px}.print-preview-sheet .print-line{display:flex;font-size:10px;padding:7px 0;border-bottom:1px solid #ddd;gap:6px}.print-preview-sheet .print-line span{flex:1;min-width:0}.print-preview-sheet .print-footer{font-size:9px;color:#7a8797;margin-top:15px}.print-preview-sheet .rink{margin-top:10px}.print-preview-sheet .rink-player span{font-size:9px}.print-preview-sheet .print-panel>h2{font-size:15px}.print-line span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.print-preview-sheet .rink-player b{background:white;border:1px solid #333;color:#172537;box-shadow:none}
@media print{#print-sheet.compact .print-panel h3{font-size:9px;margin:1.5mm 0 1mm}#print-sheet.compact .print-line{font-size:8px;padding:1.5mm 0}.print-team{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media(min-width:1450px){.special-grid .rink-player b{width:34px;height:34px;font-size:13px}.special-grid .rink-player span{font-size:11px}}
@media(max-width:1150px){.app-shell{grid-template-columns:205px 1fr}.sidebar{width:205px}.content{padding:27px 23px}.topbar{padding:0 23px}.dashboard-grid{grid-template-columns:1fr}.lineup-layout{grid-template-columns:1fr}.setup-formations{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);width:236px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 80px #101c2b70}.mobile-menu{display:block}.topbar{height:62px;padding:0 16px}.breadcrumbs{display:none}.content{padding:22px 16px}.page-head{align-items:flex-start;gap:15px;flex-direction:column}h1{font-size:26px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat-value{font-size:26px}.grid2,.grid3{grid-template-columns:1fr}.card{padding:18px}.next-game{padding:24px}.header-actions{flex-wrap:wrap}.login{display:block}.login-art{padding:26px 25px 33px}.login-art .brand{margin-bottom:35px}.login-art h1{font-size:41px;letter-spacing:-2px}.login-art .rink,.login-art footer{display:none}.login-art p{font-size:13px;margin-top:15px}.login-form{padding:35px 25px}.special-grid{gap:10px}.special-grid .unit{padding:9px}.unit-head{gap:5px}.special-grid .unit-head select{width:90px;font-size:10px}.rink-player{width:59px}.rink-player b{width:24px;height:24px;font-size:9px}.rink-player span{font-size:8px}.setup-formations{grid-template-columns:1fr 1fr}.event-row{gap:10px}.event-row button{padding:7px}.attendance-actions{flex-wrap:wrap}.lineup-toolbar button{font-size:11px;padding:9px}.roster-table td{padding:11px 7px}.user-name{display:none}.unit-positions select{font-size:10px}.chat-compose{flex-wrap:wrap}}
@media print{@page{size:letter landscape;margin:8mm}body{background:white!important;color:#000!important;font-size:10px}#app,#toast,dialog{display:none!important}#print-sheet{display:grid!important;grid-template-columns:repeat(3,1fr);width:100%;height:180mm;gap:0;break-inside:avoid}.print-panel{padding:5mm;border-right:1px dashed #a5a5a5;overflow:hidden}.print-panel:last-child{border:none}.print-panel h2{font-size:14px;margin:0 0 2mm}.print-panel h3{font-size:12px;margin:3mm 0 2mm}.print-panel .rink{width:100%;height:61mm;aspect-ratio:auto;border:1px solid #aaa;margin:2mm 0;border-radius:4mm;background:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-panel .rink-player b{width:7mm;height:7mm;font-size:11px;box-shadow:none;color:#000;background:white;border:1px solid #333}.print-panel .rink-player span{font-size:10px;color:#000}.print-panel .rink-player{width:24mm}.print-team{display:flex;gap:2mm;align-items:center;border-bottom:2px solid #222;padding-bottom:3mm;margin-bottom:3mm}.print-team img{width:10mm;height:10mm;object-fit:contain}.print-meta{font-size:9px;line-height:1.5;margin-bottom:3mm}.print-line{display:flex;gap:2mm;padding:2.5mm 0;border-bottom:1px solid #ddd;font-size:10px}.print-line span{flex:1}.print-footer{font-size:8px;margin-top:3mm;color:#555}.print-panel .eyebrow{color:#222;font-size:8px}}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:10px 14px;font-size:12px;font-weight:650;background:var(--surface);color:inherit}.button-link:hover{background:#edf5f3}
.unanswered-card{margin-bottom:20px}
.unanswered-heading{gap:16px;align-items:flex-start}
.unanswered-heading h2{display:flex;align-items:center;gap:9px}
.unanswered-heading p{margin-top:5px}
.unanswered-heading button{flex-shrink:0}
.unanswered-list{border-top:1px solid var(--line)}
.unanswered-row{display:grid;grid-template-columns:36px minmax(140px,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}
.unanswered-person{display:grid;gap:4px;min-width:0}
.unanswered-person span{font-size:11px}
.unanswered-missing{color:#ad622a}
.unanswered-row:last-child{border-bottom:0}
.unanswered-row .attendance-actions{flex-wrap:wrap}
.unanswered-note{margin-top:12px}
@media(max-width:760px){.unanswered-heading{display:grid}.unanswered-heading button{justify-self:start}.unanswered-row{grid-template-columns:36px minmax(0,1fr)}.unanswered-row .attendance-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.unanswered-row .attendance-actions button{min-height:44px;font-size:12px}}
@media(max-width:760px){
  .attendance-table,.attendance-table tbody{display:block;width:100%}
  .attendance-table tr{display:grid;align-items:center;column-gap:10px;row-gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
  .attendance-table tr:last-child{border-bottom:0}
  .attendance-table td{display:flex;align-items:center;min-width:0;padding:0;border:0}
  .player-attendance-table tr{grid-template-columns:36px minmax(0,1fr) auto}
  .player-attendance-table td:nth-child(4){grid-column:1/-1}
  .coach-attendance-table tr{grid-template-columns:minmax(0,1fr) auto}
  .coach-attendance-table td:first-child{display:block}
  .coach-attendance-table td:nth-child(3){grid-column:1/-1}
  .attendance-table .attendance-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
  .attendance-table .attendance-actions button{min-height:44px;padding:9px 5px;font-size:12px}
  .attendance-table .attendance-actions .muted{grid-column:1/-1}
}
.event-row{width:100%;text-align:left;background:transparent;border-radius:9px;color:inherit;font-weight:400;padding:17px}
.event-row:hover,.event-row:focus-visible{background:#f2f8f7}
.event-copy{display:block}
.event-name{display:block;font-size:14px;margin:5px 0}
.event-open{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--accent)}
.event-open svg{margin:0}
.team-collectible{display:flex;flex-direction:column;width:100%;aspect-ratio:2/3;min-width:0;padding:0;overflow:hidden;text-align:center;color:#fff;isolation:isolate;user-select:none}
.team-pack-heading{position:relative;z-index:3;display:grid;align-content:center;gap:4px;min-height:70px;padding:8px 12px 2px}
.team-pack-category{display:block;color:#c9d8ea;font-size:10px;font-weight:800;letter-spacing:1.5px}
.team-card-name{display:block;color:#fff;font-size:19px;line-height:1.1;letter-spacing:-.4px;overflow-wrap:anywhere}
.team-pack-stage{position:relative;display:block;flex:1;min-height:0;width:100%;pointer-events:none}
.team-pack-halo{position:absolute;inset:13% 11% 5%;z-index:0;opacity:0;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--team-color) 74%,white) 0%,color-mix(in srgb,var(--team-color) 46%,transparent) 42%,transparent 72%);filter:blur(25px)}
.team-pack-backs{position:absolute;inset:0;z-index:1}
.team-pack-backs>span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:61%;aspect-ratio:2/3;border:1px solid #85b1d1;border-radius:0;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--team-color) 40%,#12395b) 0 19%,#07192d 20% 30%,#aacbe0 31% 32%,#0d2941 33% 63%,#97b8ce 64% 65%,#06121f 66%);box-shadow:0 10px 25px #0009,inset 0 0 0 5px #06121f;opacity:.88}
.team-pack-backs>span::after{content:"FIRST ON PUCK";display:grid;place-items:center;width:53%;aspect-ratio:1;border:1px solid #d1edff;border-radius:50%;color:#fff;font-size:clamp(5px,.65vw,8px);font-weight:900;letter-spacing:.2px;text-shadow:0 1px 2px #001;box-shadow:0 0 0 5px #ffffff17}
.team-pack-backs>span:nth-child(1){transform:translate(-61%,-48%) rotate(-10deg)}
.team-pack-backs>span:nth-child(2){transform:translate(-41%,-49%) rotate(12deg)}
.team-pack-backs>span:nth-child(3){transform:translate(-33%,-48%) rotate(-1deg)}
.team-pack{position:absolute;top:50%;left:50%;z-index:2;display:block;width:65%;aspect-ratio:2/3;transform:translate(-50%,-49%) rotate(-7deg);filter:drop-shadow(0 12px 14px #020b18aa)}
.team-pack-image{display:block;width:100%;height:100%;object-fit:fill}
.team-pack-logo{position:absolute;top:47%;left:50%;display:block;width:69%;transform:translate(-50%,-50%)}
.team-card-logo{display:block;width:100%;height:auto}
.team-pack-season{position:absolute;right:13%;bottom:10%;left:13%;display:block;padding:7px 3px;color:#e6f0fc;background:linear-gradient(90deg,transparent,#061321b8 21% 79%,transparent);font-size:11px;font-weight:750;letter-spacing:1.2px;text-transform:uppercase}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.calendar-navigation,.calendar-view-switch{display:flex;align-items:center;gap:8px}.calendar-navigation h2{min-width:160px;text-align:center;text-transform:capitalize}.calendar-view-switch{padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.calendar-view-switch button{background:transparent}.calendar-view-switch button.active{background:#e5f5f0;color:#087d6d}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.calendar-weekday{text-align:center;padding:11px 4px;font-size:11px;font-weight:800;color:var(--muted);border-bottom:1px solid var(--line)}.calendar-day{position:relative;min-width:0;min-height:126px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#f7f9fb;color:var(--muted)}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-date{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;background:transparent;color:inherit;font-size:12px}.calendar-day.today .calendar-date{background:var(--accent);color:white}.calendar-day-events{display:grid;gap:4px;margin-top:5px}.calendar-event{display:block;width:100%;padding:5px 6px;border-left:3px solid var(--event-color);border-radius:4px;background:#e9f4f2;color:#23384a;font-size:10px;font-weight:650;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.practice{background:#eef0fa}.calendar-event.game{background:#e7f6f0}.calendar-event span{font-weight:800}.calendar-more{padding:2px 3px;background:transparent;font-size:10px;color:var(--muted)}.calendar-count{display:none}.calendar-agenda{margin-top:16px}.calendar-agenda .card-title{margin-bottom:6px}.calendar-agenda h2{text-transform:capitalize}body.dark .calendar-day.outside{background:#142632}body.dark .calendar-event{background:#24403f;color:#eef9f8}body.dark .calendar-event.practice{background:#30384f}body.dark .calendar-view-switch button.active{background:#1b3d3e;color:#5ce4c5}
.calendar-view-switch{margin-left:auto}
.calendar-toolbar:has([data-schedule-view="list"].active) .calendar-navigation>:not([data-calendar-today]){display:none}
#app .main:has(.schedule-scroll-list){height:100dvh;display:flex;flex-direction:column;overflow:hidden}
#app .main:has(.schedule-scroll-list)>.topbar{flex:none}
#app .content:has(.schedule-scroll-list){width:100%;flex:1;min-height:0;margin:0 auto;display:flex;flex-direction:column;overflow:hidden}
#app .content:has(.schedule-scroll-list)>.page-head,#app .content:has(.schedule-scroll-list)>.schedule-filters,#app .content:has(.schedule-scroll-list)>.calendar-toolbar,#app .content:has(.schedule-scroll-list)>.schedule-search,#app .content:has(.schedule-scroll-list)>.schedule-bulk-toolbar{flex:none}
#app .schedule-search{display:flex;align-items:center;gap:12px;margin:0 0 12px}
#app .schedule-search label{margin:0;white-space:nowrap;font-size:12px;font-weight:700}
#app .schedule-search input{width:min(100%,420px);margin:0}
#app .schedule-scroll-list>.event-row[hidden],#app .schedule-scroll-list>.schedule-bulk-row[hidden],#app .schedule-next-marker[hidden],#app .schedule-search-empty[hidden]{display:none}
#app .schedule-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px}
#app .schedule-bulk-toolbar [data-schedule-bulk-count]{margin-right:4px;color:var(--muted);font-size:12px;font-weight:700}
#app .schedule-bulk-toolbar button:disabled{opacity:.45;cursor:not-allowed}
#app .calendar-toolbar{gap:10px 14px;margin-bottom:12px}
#app .calendar-toolbar .calendar-navigation{order:0;flex:none}
#app .calendar-toolbar .schedule-search{order:1;flex:1 1 380px;max-width:520px;min-width:0;margin:0}
#app .calendar-toolbar .schedule-search input{flex:1;min-width:0;width:auto}
#app .calendar-toolbar .schedule-bulk-toolbar{order:2;flex:none;margin:0 0 0 auto}
#app .calendar-toolbar .calendar-view-switch{order:3;margin-left:0}
#app .calendar-toolbar:not(:has(.schedule-bulk-toolbar)) .calendar-view-switch{margin-left:auto}
#app .calendar-toolbar:has([data-schedule-bulk-count]) .calendar-view-switch{order:2;margin-left:auto}
#app .calendar-toolbar:has([data-schedule-bulk-count]) .schedule-bulk-toolbar{order:3;flex:1 0 100%;justify-content:flex-end;margin:0}
@media(max-width:1250px){#app .calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"navigation views" "search bulk"}#app .calendar-toolbar .calendar-navigation{grid-area:navigation}#app .calendar-toolbar .calendar-view-switch{grid-area:views;justify-self:end}#app .calendar-toolbar .schedule-search{grid-area:search;max-width:none}#app .calendar-toolbar .schedule-bulk-toolbar{grid-area:bulk;justify-self:end;margin:0}#app .calendar-toolbar:has([data-schedule-bulk-count]){grid-template-areas:"navigation views" "search search" "bulk bulk"}#app .calendar-toolbar:has([data-schedule-bulk-count]) .schedule-bulk-toolbar{justify-self:end}}
@media(max-width:600px){#app .calendar-toolbar,#app .calendar-toolbar:has([data-schedule-bulk-count]){grid-template-columns:minmax(0,1fr);grid-template-areas:"navigation" "views" "search" "bulk"}#app .calendar-toolbar .calendar-view-switch,#app .calendar-toolbar .schedule-bulk-toolbar,#app .calendar-toolbar:has([data-schedule-bulk-count]) .schedule-bulk-toolbar{justify-self:start;justify-content:flex-start}}
@media(max-width:600px){#app .calendar-toolbar:has([data-schedule-view="list"].active){grid-template-columns:auto minmax(0,1fr);grid-template-areas:"navigation views" "search search" "bulk bulk"}#app .calendar-toolbar:has([data-schedule-view="list"].active):not(:has(.schedule-bulk-toolbar)){grid-template-areas:"navigation views" "search search"}#app .calendar-toolbar:has([data-schedule-view="list"].active) .calendar-view-switch{justify-self:end}}
@media(max-width:600px){#app .calendar-navigation{flex-wrap:wrap}#app .calendar-navigation h2{flex:none;min-width:0;white-space:nowrap;font-size:13px}}
#app .schedule-bulk-row{display:flex;align-items:center;gap:16px;margin-bottom:10px;padding:15px 17px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}
#app .schedule-bulk-row:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--surface))}
#app .schedule-bulk-row input{flex:none;width:19px;height:19px;margin:0;accent-color:var(--accent)}
#app .schedule-bulk-date{flex:0 0 170px;font-size:12px;font-weight:700}
#app .schedule-bulk-detail{display:grid;gap:3px;min-width:0;flex:1}
#app .schedule-bulk-detail strong,#app .schedule-bulk-detail .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-bulk-review{max-height:min(40vh,320px);overflow-y:auto;margin:12px 0;padding:0 12px;border:1px solid var(--line);border-radius:8px}
.schedule-bulk-review>div{padding:10px 0;line-height:1.4}
.schedule-bulk-review>div+div{border-top:1px solid var(--line)}
@media(max-width:760px){#app .schedule-bulk-row{flex-wrap:wrap;gap:7px 12px;padding:13px}#app .schedule-bulk-date{flex:1}#app .schedule-bulk-detail{order:3;flex-basis:100%}#app .schedule-bulk-row .pill{margin-left:auto}}
@media(max-width:760px){#app .schedule-search{align-items:stretch;flex-direction:column;gap:5px}#app .schedule-search input{width:100%}}
#app .schedule-scroll-list{flex:1;min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#app .schedule-next-marker{display:flex;align-items:center;gap:12px;padding:18px 0 12px;color:var(--text-strong,#172537);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;scroll-margin-top:12px}
#app .schedule-next-marker::before,#app .schedule-next-marker::after{content:"";height:1px;flex:1;background:color-mix(in srgb,var(--accent) 50%,var(--line))}
#app .schedule-next-marker span{padding:6px 11px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--surface));white-space:nowrap}
#app .event-row{display:block;padding:0;overflow:hidden;margin-bottom:10px}
#app .event-row:last-child{margin-bottom:0}
#app .event-row-open{display:flex;align-items:center;gap:15px;width:100%;padding:17px;text-align:left;color:inherit;background:transparent;font-weight:400}
#app .event-row-open:hover,#app .event-row-open:focus-visible{background:color-mix(in srgb,var(--accent) 9%,transparent)}
#app .event-row-open .event-copy{flex:1;min-width:0}
#app .event-row-bottom{padding:0 17px 15px}
#app .event-quick-responses{display:flex;flex-wrap:wrap;gap:10px 18px}
#app .event-quick-response{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
#app .event-response-person{font-size:11px;font-weight:750;color:var(--text-strong,#253449)}
#app .event-quick-response .attendance-actions{display:flex;flex-wrap:wrap;gap:4px}
#app .event-quick-response .attendance-actions button{padding:6px 9px;font-size:10px}
#app .event-row-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;margin-top:10px;color:var(--muted);font-size:11px}
#app .event-row-tools:first-child{margin-top:0}
#app .event-response-summary{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px 12px;color:var(--text-strong,#253449)}
#app .event-response-stat{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
#app .event-response-stat strong{font-size:11px;font-weight:800;line-height:1}
#app .event-response-icon{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;color:#fff}
#app .event-response-icon.going{background:#078b68}
#app .event-response-icon.not_going{background:#cb2857}
#app .event-response-icon.maybe{background:#e5b73b;color:#302307}
#app .event-response-icon.no_response{background:#66778b}
#app .event-response-icon svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#app .schedule-scroll-list .event-change-notice,
#app .schedule-scroll-list .event-featured-reminder,
#app .schedule-scroll-list [data-send-reminder]{display:none}
#app .event-change-notice{display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px;margin:0 17px 12px;padding:8px 10px;border-left:3px solid #f0b84a;background:rgba(240,184,74,.12);font-size:11px}
#app .event-change-notice strong{color:#f5cf80}
#app .event-row.event-row-featured{border:1px solid color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 10px 30px rgba(0,0,0,.16)}
#app .event-row-featured .event-name{font-size:18px}
#app .event-featured-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 17px 13px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#app .event-featured-details>div{display:grid;align-content:start;gap:5px;min-width:0;font-size:12px}
#app .event-featured-details strong,#app .event-featured-details a{overflow-wrap:anywhere;color:var(--text-strong,#253449)}
#app .event-detail-label{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
#app .event-featured-notes{margin:0 17px 14px;font-size:12px;white-space:pre-wrap}
#app .event-row.event-row-featured{background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 34%,#0a1932),color-mix(in srgb,var(--accent) 23%,#10213d) 60%,color-mix(in srgb,var(--accent) 29%,#0a1932));border-color:color-mix(in srgb,var(--accent) 56%,#6b7891)}
#app .event-featured-main{display:grid;grid-template-columns:54px minmax(145px,1.25fr) minmax(72px,.7fr) minmax(72px,.7fr) minmax(125px,1fr) minmax(240px,1.55fr) 48px;align-items:center;gap:14px;padding:16px 18px;min-height:108px}
#app button.event-featured-date,#app button.event-featured-title,#app button.event-featured-view{background:transparent;border:0;padding:0;color:inherit;text-align:left}
#app .event-featured-date .date-box{display:block;min-width:0;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18)}
#app .event-featured-date .date-box span{color:#cbd7ed}
#app .event-featured-heading{display:flex;align-items:flex-start;flex-direction:column;gap:5px;min-width:0}
#app button.event-featured-title{font-size:16px;font-weight:800;line-height:1.2}
#app .event-featured-summary{font-size:11px;font-weight:700;color:#dce8ff}
#app .event-featured-fact{display:grid;gap:4px;min-width:0}
#app .event-featured-fact strong,#app .event-featured-fact a{font-size:12px;color:#f5f9ff;overflow-wrap:anywhere}
#app .event-featured-fact a{text-decoration:underline;text-underline-offset:2px}
#app .event-featured-attendance{display:grid;justify-items:end;gap:8px;min-width:0}
#app .event-featured-attendance .event-response-summary{justify-self:end}
#app .event-featured-cutoff{color:#aebddd;font-size:11px;white-space:nowrap}
#app .event-row-featured .event-quick-responses{display:grid;justify-items:end;gap:4px;width:100%}
#app .event-row-featured .event-quick-response{justify-content:flex-end;flex-wrap:nowrap;width:100%}
#app .event-row-featured .event-response-person{color:#eff5ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .event-featured-reminder button{padding:4px 8px;font-size:10px}
#app button.event-featured-view{display:inline-flex;align-items:center;gap:3px;justify-self:end;font-size:11px;font-weight:750;color:#a8bdff;white-space:nowrap}
#app .event-featured-view svg{width:15px;height:15px;margin:0}
#app button.event-featured-date:hover,#app button.event-featured-title:hover,#app button.event-featured-view:hover{background:transparent;color:#fff}
#app .event-row-featured .event-change-notice{margin:0 18px 10px}
#app .event-row.event-row-standard{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid var(--line)}
#app .event-standard-main{display:grid;grid-template-columns:54px minmax(180px,1fr) minmax(255px,1.2fr) 48px;align-items:center;gap:14px;padding:13px 18px;min-height:94px}
#app .event-standard-heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
#app .event-standard-labels{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
#app .event-standard-heading .muted{font-size:11px}
#app .event-standard-score{font-size:12px;color:var(--text-strong)}
#app .event-standard-attendance{display:grid;justify-items:end;gap:6px;min-width:0}
#app .event-standard-attendance .event-quick-responses{display:grid;justify-items:end;gap:4px;width:100%}
#app .event-standard-attendance .event-quick-response{justify-content:flex-end;flex-wrap:nowrap;width:100%}
#app .event-standard-attendance .event-response-person{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .event-standard-attendance .event-row-tools{justify-content:flex-end;margin:0;font-size:10px}
#app .event-row-standard .event-change-notice{margin:0 18px 10px}
@media(max-width:1100px){#app .event-standard-main{grid-template-columns:54px minmax(0,1fr) 48px}#app .event-standard-attendance{grid-column:2/-2;justify-items:start}#app .event-standard-attendance .event-quick-responses{justify-items:start}#app .event-standard-attendance .event-quick-response{justify-content:flex-start}#app .event-standard-attendance .event-row-tools{justify-content:flex-start}#app .event-row-standard .event-featured-view{grid-column:3;grid-row:1}}
@media(max-width:760px){#app .event-standard-main{grid-template-columns:54px minmax(0,1fr) 48px;gap:10px;padding:14px}#app .event-standard-attendance{grid-column:1/-1}#app .event-standard-attendance .event-quick-response{align-items:center;flex-direction:row;flex-wrap:wrap}#app .event-standard-attendance .event-quick-response .attendance-actions{width:auto}#app .event-standard-attendance .event-featured-cutoff{white-space:normal}}
@media(max-width:1250px){#app .event-featured-main{grid-template-columns:54px minmax(140px,1.2fr) repeat(3,minmax(80px,.8fr)) 48px}#app .event-featured-attendance{grid-column:2/-2;justify-items:start}#app .event-row-featured .event-quick-responses{justify-items:start}#app .event-row-featured .event-quick-response{justify-content:flex-start}#app .event-row-featured .event-featured-view{grid-column:-2/-1;grid-row:1}}
@media(max-width:760px){#app .event-featured-main{grid-template-columns:54px minmax(0,1fr) 48px;gap:12px;padding:14px}#app .event-featured-heading{grid-column:2}#app .event-featured-fact:nth-of-type(2),#app .event-featured-fact:nth-of-type(3){grid-column:1/-1}#app .event-featured-venue{grid-column:1/-1}#app .event-featured-attendance{grid-column:1/-1;justify-items:start}#app .event-featured-view{grid-column:3;grid-row:1}#app .event-featured-cutoff{white-space:normal}#app .event-row-featured .event-quick-response{align-items:center;flex-direction:row;flex-wrap:wrap}#app .event-row-featured .event-quick-response .attendance-actions{width:auto}}
@media(max-width:760px){#app .event-row-open{gap:10px;padding:14px}#app .event-row-bottom{padding:0 14px 13px}#app .event-featured-details{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 14px 13px}#app .event-quick-response{align-items:flex-start;flex-direction:column;width:100%}#app .event-quick-response .attendance-actions{width:100%}#app .event-quick-response .attendance-actions button{flex:1}#app .event-change-notice{margin:0 14px 12px}}
.calendar-day[data-calendar-cell]{cursor:pointer}.calendar-day[data-calendar-cell]:hover{background:#f2faf8}.calendar-day[data-calendar-cell]:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.calendar-day.outside[data-calendar-cell]:hover{background:#eaf3f2}.calendar-grid.week .calendar-day{min-height:220px}body.dark .calendar-day[data-calendar-cell]:hover{background:#213c40}
.calendar-agenda-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.calendar-agenda-actions .muted{white-space:nowrap}
@media(max-width:760px){.calendar-agenda .card-title{flex-wrap:wrap}.calendar-agenda-actions{width:100%;justify-content:space-between}.calendar-agenda-actions button{min-height:40px}}
@media(max-width:760px){.calendar-navigation h2{min-width:130px;font-size:16px}.calendar-day{min-height:67px;padding:4px}.calendar-weekday{font-size:10px}.calendar-date{width:27px;height:27px;font-size:11px}.calendar-day-events{display:none}.calendar-count{display:block;position:absolute;right:6px;top:9px;font-size:10px;color:var(--accent);font-weight:800}.calendar-agenda{padding:16px}.calendar-agenda .card-title{align-items:flex-start;gap:8px}.calendar-agenda h2{font-size:16px}}
@media(max-width:760px){.calendar-grid.week .calendar-day{min-height:100px}}
.directory-item{padding:9px 0;border-bottom:1px solid var(--line);gap:12px;font-size:13px}.directory-item span{min-width:0;overflow-wrap:anywhere}.directory-item a{margin-left:7px}.directory-form{margin-top:18px}.directory-form .row input{min-width:0}.place-results{display:grid;gap:6px;margin-top:9px}.place-results button{text-align:left;white-space:normal;overflow-wrap:anywhere}#repeat-options{margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:9px}#repeat-weekdays{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}#repeat-weekdays .check-label{margin:0 7px 0 0}
.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.directory-heading h2{margin:0}.directory-sort-label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;white-space:nowrap}.directory-sort-label select{width:auto;min-width:90px;margin:0;padding:6px 9px;font-size:12px}
.player-card{overflow:hidden;border:6px solid #d6e2e9;border-radius:18px;background:#f7f9fb;box-shadow:inset 0 0 0 1px #fff,0 8px 24px #0a1c2b24}
.player-card-hero{position:relative;overflow:hidden;min-height:265px;padding:24px 28px 23px;color:#fff;background:radial-gradient(circle at 75% 45%,color-mix(in srgb,var(--player-team-color) 45%,#183f53),transparent 52%),linear-gradient(135deg,#142b3c,#091b2a 78%)}
.player-card-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 34px,#ffffff09 35px 36px,transparent 37px 70px);pointer-events:none}
.player-card-hero:after{content:"";position:absolute;width:320px;height:320px;right:-100px;top:6px;border:2px solid #ffffff17;border-radius:50%;box-shadow:0 0 0 44px #ffffff08,0 0 0 86px #ffffff06;pointer-events:none}
.player-card-overline,.player-card-art,.player-card-identity{position:relative;z-index:1}
.player-card-overline{display:flex;justify-content:space-between;gap:20px;padding-right:35px;color:#bdd5df;font-size:10px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase}
.player-card-overline span:last-child{text-align:right}
.player-card-art{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:140px}
.player-card-jersey span{display:block;color:#9fbcc8;font-size:10px;font-weight:800;letter-spacing:2px}
.player-card-jersey strong{display:block;font-size:clamp(70px,15vw,112px);letter-spacing:-9px;line-height:1;font-weight:900;text-shadow:3px 4px 0 color-mix(in srgb,var(--player-team-color) 65%,#000)}
.player-card-jersey.is-empty strong{font-size:72px;letter-spacing:0;line-height:1.4;color:#b5cbd6;text-shadow:none}
.player-card-team-logo{display:grid;place-items:center;width:130px;height:130px;flex:none;border:3px solid #fff;border-radius:50%;background:color-mix(in srgb,var(--player-team-color) 35%,#172c40);box-shadow:0 10px 24px #07151f99,0 0 0 5px #ffffff22;overflow:hidden}
.player-card-team-logo img{width:100%;height:100%;object-fit:cover}
.player-card-team-logo span{font-size:38px;font-weight:900;letter-spacing:-2px}
.player-card-identity{padding-top:13px;border-top:3px solid var(--player-team-color)}
.player-card-identity>span{display:block;color:#bcd4df;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.player-card-identity h3{margin-top:5px;color:#fff;font-size:clamp(25px,5vw,34px);line-height:1.12;letter-spacing:-.8px}
.player-card-identity h3 strong{font-weight:900}
.player-card-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#e8eef2;border-bottom:1px solid #cddbe3}
.player-card-stats>div{min-width:0;padding:15px 17px;border-right:1px solid #d1dce3}
.player-card-stats>div:last-child{border-right:0}
.player-card-stats span,.player-card-details section>span{display:block;color:#637789;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.player-card-stats strong{display:block;margin-top:5px;color:#163045;font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.player-card-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px 24px 8px;background:#f9fbfc}
.player-card-details section{min-width:0;padding:17px 5px;border-bottom:1px solid #e1e9ee}
.player-card-details section:nth-child(even):not(.player-card-wide){padding-left:20px}
.player-card-details section.player-card-wide{grid-column:1/-1}
.player-card-details p{margin-top:8px;color:#263b4e;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
.player-card-relationship{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #e8edf1;font-size:13px;font-weight:700}
.player-card-relationship:last-child{border-bottom:0}
.player-card-relationship small{display:block;margin-top:2px;color:#728395;font-size:11px;font-weight:500;overflow-wrap:anywhere}
.player-card-contact-link{color:#176f8a;text-decoration:underline;text-decoration-color:#176f8a80;text-underline-offset:2px}
.player-card-contact-link:hover{text-decoration-color:currentColor}
.player-card-contact-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.dark .player-card-contact-link{color:#8fdaf0}
dialog:has(.player-card){width:600px;padding:0 0 4px;border:0;background:var(--surface)}
dialog:has(.player-card)>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
dialog:has(.player-card)>.close{position:absolute;z-index:2;top:20px;right:20px;float:none;color:#fff;text-shadow:0 2px 5px #0008}
dialog:has(.player-card) form{padding:0}
dialog:has(.player-card) .player-card-actions{justify-content:flex-start;flex-wrap:wrap;margin:0;padding:16px 15px 12px;border:0;background:var(--surface)}
dialog:has(.player-card) .player-card-actions [data-cancel]{margin-left:auto}
body.dark .player-card-details{background:#192c3c}body.dark .player-card-stats{background:#253a4a;border-color:#375062}body.dark .player-card-stats>div,body.dark .player-card-details section,body.dark .player-card-relationship{border-color:#375062}body.dark .player-card-stats strong,body.dark .player-card-details p{color:#e5eef5}
@media(max-width:620px){.player-card{border-width:4px}.player-card-hero{min-height:235px;padding:19px 20px}.player-card-art{min-height:130px}.player-card-team-logo{width:105px;height:105px}.player-card-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.player-card-stats>div:nth-child(2){border-right:0}.player-card-stats>div:nth-child(-n+2){border-bottom:1px solid #d1dce3}.player-card-details{padding:2px 17px 7px}.player-card-details section:nth-child(even):not(.player-card-wide){padding-left:12px}dialog:has(.player-card) .player-card-actions{padding:12px 5px 2px}dialog:has(.player-card) .player-card-actions button{min-height:42px}}
@media(max-width:420px){.player-card-team-logo{width:88px;height:88px}.player-card-jersey strong{font-size:76px}.player-card-details{grid-template-columns:1fr}.player-card-details section,.player-card-details section:nth-child(even):not(.player-card-wide){grid-column:1;padding-left:5px}.player-card-overline{font-size:9px}.player-card-relationship{align-items:flex-start;flex-direction:column}dialog:has(.player-card) .player-card-actions [data-cancel]{margin-left:0}}
.team-logo-preview{display:block;max-width:120px;max-height:120px;object-fit:contain;margin:6px 0 12px;padding:10px;border:1px solid var(--line);border-radius:10px}
.dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;overflow:hidden;margin-bottom:25px}
.dashboard-summary-item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label icon" "value icon";gap:8px;padding:18px 20px;min-width:0;text-align:left;background:transparent;color:inherit;border-radius:0}
.dashboard-summary-item+.dashboard-summary-item{border-left:1px solid var(--line)}
.dashboard-summary-item:hover,.dashboard-summary-item:focus-visible{background:#f2f8f7}
.dashboard-summary-item:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.dashboard-summary-item .stat-icon{grid-area:icon}.dashboard-summary-label{grid-area:label;color:var(--muted);font-size:12px;font-weight:650}.dashboard-summary-value{grid-area:value;font-size:29px;line-height:1}
.all-teams-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start}
.all-teams-main,.all-teams-events{min-width:0}
.all-teams-main{display:flex;flex-direction:column;gap:16px}
.all-teams-main>.card-title,.all-teams-events>.card-title{margin-bottom:0}
.all-teams-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-items:start;justify-items:center}
.all-teams-cards .team-collectible{max-width:240px}
.all-teams-events{display:flex;flex-direction:column;gap:10px}
.all-teams-events>.card-title{flex:none;gap:8px}
.all-teams-event-list{min-height:0;max-height:min(540px,calc(100dvh - 250px));overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.all-teams-event-list:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.all-teams-event-list .event-row{gap:8px}
.all-teams-event-list .event-open{display:none}
@media(max-width:1150px){.all-teams-dashboard-grid{grid-template-columns:1fr}.all-teams-event-list{max-height:none;overflow:visible;padding-right:0}}
@media(max-width:650px){.all-teams-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.all-teams-cards .team-collectible:last-child:nth-child(odd){grid-column:1/-1;width:calc((100% - 12px)/2)}}
@media(max-width:380px){.all-teams-cards{grid-template-columns:minmax(0,240px);justify-content:center}.all-teams-cards .team-collectible:last-child:nth-child(odd){width:100%}}
@media(max-width:760px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary .dashboard-summary-item:nth-child(3){border-left:0;border-top:1px solid var(--line)}.dashboard-summary .dashboard-summary-item:nth-child(4){border-top:1px solid var(--line)}}
.stat-link{display:block;width:100%;text-align:left}
.stat-link:hover,.stat-link:focus-visible{border-color:var(--accent);background:#f7fbfa}
.clickable-card{cursor:pointer}
.clickable-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#toast{top:calc(env(safe-area-inset-top) + 16px);bottom:auto;left:50%;width:max-content;text-align:center;font-size:13px;line-height:1.4}
body.dark .event-row:hover,body.dark .event-row:focus-visible,body.dark .stat-link:hover,body.dark .stat-link:focus-visible{background:#1c3540}
body.dark .dashboard-summary-item:hover,body.dark .dashboard-summary-item:focus-visible{background:#1c3540}
@media(max-width:760px){
  .muted{font-size:14px}
  .stat-label{font-size:13px}
  .attendance-legend{font-size:12px}
  .stat .muted{font-size:13px!important}
  .event-copy .muted{font-size:14px}
  .event-name{font-size:15px}
  .event-open{font-size:12px}
  .unanswered-row{font-size:14px}
  .unanswered-person span{font-size:12px}
  .attendance-table td{font-size:14px}
  .attendance-table .muted{font-size:12px!important}
  .attendance-table .pill{font-size:11px}
  #toast{max-width:calc(100vw - 32px)}
}
/* Unread notifications stay visible even when motion is reduced. */
.attendance-overview{margin-top:22px}.attendance-overview .card-title{margin-bottom:12px}.attendance-overview .card-title h2{margin:5px 0}.attendance-overview-totals{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.attendance-overview-list{display:grid}.attendance-overview-row{display:flex;align-items:center;gap:20px;width:100%;padding:16px 3px;border-radius:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.attendance-overview-row:last-child{border-bottom:0}.attendance-overview-row:hover{background:#0da38f0a}.attendance-overview-main,.attendance-overview-status{display:grid;gap:5px;min-width:0}.attendance-overview-main{flex:1}.attendance-overview-main strong{font-size:14px}.attendance-overview-status{min-width:200px;font-size:12px;color:var(--muted)}.attendance-overview-flags{display:flex;gap:5px;flex-wrap:wrap}.attendance-overview-arrow{color:var(--muted)}
@media(max-width:650px){.attendance-overview-row{align-items:flex-start;gap:10px}.attendance-overview-main{flex:1}.attendance-overview-status{min-width:0}.attendance-overview-arrow{display:none}}
@media(max-width:480px){.attendance-overview-row{display:grid;grid-template-columns:1fr}.attendance-overview-status{display:flex;flex-wrap:wrap;gap:5px 12px}.attendance-overview-status>span{font-size:12px}}
.topbar .notification-bell{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%}
.topbar .notification-bell.unread{color:#c72d3b;animation:unread-bell-glow 2.4s ease-in-out infinite}
.notification-dot{position:absolute;top:4px;right:3px;width:8px;height:8px;border-radius:50%;background:#dc3443;box-shadow:0 0 0 2px var(--surface)}
@keyframes unread-bell-glow{0%,100%{background:transparent;box-shadow:0 0 0 0 #dc344300}50%{background:#fff0f1;box-shadow:0 0 0 6px #dc344326}}
@media (prefers-reduced-motion:reduce){.topbar .notification-bell.unread{animation:none;background:#fff0f1;box-shadow:0 0 0 2px #dc344350}}
.event-canceled .date-box,.event-canceled .event-name,.event-canceled .event-copy>.muted,.event-canceled .pill,.event-canceled .event-open,.event-canceled>strong{opacity:.52}
.calendar-event.event-canceled{background:#edf0f2;color:#76808b;border-left-color:#a7afb8}
body.dark .calendar-event.event-canceled{background:#2b343d;color:#aeb7bf}
.event-status,.calendar-status{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.event-status.canceled,.calendar-status.canceled{background:#fff0ec;color:#a9392a}
.event-status.rescheduled,.calendar-status.rescheduled{background:#fff3b0;color:#735500}
.calendar-status{margin:0 5px 0 3px;padding:1px 4px;font-size:8px}
.event-subtitle{font-size:17px;font-weight:700;margin:0 0 16px}
.event-edit-options{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
.invite-group{padding:10px 0;border-bottom:1px solid var(--line)}
.invite-group>.check-label:first-child{font-weight:800;margin-bottom:7px}
.required-marker{color:#cf2f36;font-weight:800;margin-left:4px}
.required-marker[hidden]{display:none}
#event-game-fields[hidden],#event-title-wrap[hidden],#tournament-name-wrap[hidden],#event-start-time[hidden],#event-start-date[hidden],#event-duration[hidden],#repeat-options[hidden],#repeat-custom[hidden],#repeat-until-wrap[hidden],#repeat-weekdays[hidden]{display:none!important}
.event-location-link{display:block;color:inherit;text-decoration:none;margin:10px 0 14px}.event-location-link:hover h2,.directory-item a:hover{text-decoration:underline}.event-location-link:focus-visible{outline:2px solid #00b5a8;outline-offset:4px;border-radius:4px}.event-location-link .muted{display:block;line-height:1.5}
.schedule-history{margin-top:20px;padding:0 18px!important;background:var(--surface);box-shadow:none!important}.schedule-history summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;cursor:pointer;font-size:13px;font-weight:700;list-style:none}.schedule-history summary::-webkit-details-marker{display:none}.schedule-history summary::before{content:'▸';color:var(--muted);font-size:13px}.schedule-history[open] summary::before{content:'▾'}.schedule-history summary>span:first-child{flex:1}.schedule-history summary .muted{font-weight:400;font-size:12px}.schedule-history-body{border-top:1px solid var(--line);padding:8px 0 12px}.schedule-history-item{border-top:1px solid var(--line);padding:12px 0}.schedule-history-item:first-of-type{border-top:0}.schedule-history-item .row{gap:12px;flex-wrap:wrap}.schedule-history-item p{margin:8px 0 0;line-height:1.5}.history-kind{display:inline-block;border-radius:6px;padding:3px 8px;font-size:12px;background:#fff3b0;color:#735500}.history-kind.canceled{background:#fff0ec;color:#a9392a}.history-kind.restored{background:#e2f5ef;color:#116848}.schedule-history-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}.schedule-history-times>div{display:grid;gap:4px}.schedule-history-times strong{font-size:13px;line-height:1.5}.earlier-event-notes{border-top:1px solid var(--line);padding-top:14px}.earlier-event-notes p{white-space:pre-wrap;line-height:1.5}@media(max-width:650px){.schedule-history-times{grid-template-columns:1fr;gap:10px}}
.event-attendance-heading{align-items:flex-start;gap:14px}.event-attendance-heading .attendance-reminder{display:grid;justify-items:end;gap:5px;text-align:right}.attendance-reminder .muted{font-size:11px}.attendance-bar-label{font-size:11px;margin:4px 0}.event-attendees{margin-top:20px}.event-attendees .card-title{align-items:baseline;gap:12px}.attendance-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line);margin-top:10px}.attendance-tabs button{flex:0 0 auto;border:0;border-bottom:0!important;border-radius:0;background:transparent;color:var(--muted);padding:11px 13px;font-size:12px;font-weight:700;white-space:nowrap}.attendance-tabs button span{display:inline-block;min-width:20px;margin-left:5px;padding:2px 5px;border-radius:6px;background:#edf1f4;color:var(--nav);font-size:10px}.attendance-tabs button.active{background: color-mix(in srgb,var(--accent) 30%,transparent)!important}.attendance-tabs button:hover{color:var(--accent)}.attendance-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.attendance-tab-panel h3{font-size:12px;margin:19px 0 6px}.attendance-tab-panel .attendance-table tr:last-child{border-bottom:0}.attendance-recipient-note{font-size:11px;margin-top:12px}@media(max-width:760px){.event-attendance-heading{display:grid}.event-attendance-heading .attendance-reminder{justify-items:start;text-align:left}.event-attendees .card-title{display:grid;gap:4px}.attendance-tabs button{min-height:44px;padding:10px 12px}}
.form-field{min-width:0}
.roster-tools{display:flex;flex-wrap:wrap;align-items:end;gap:10px 14px;margin-bottom:14px}
.roster-tools .form-field{flex:1 1 145px}
.roster-tools .form-field:first-child{flex:2 1 230px}
.roster-tools label{margin-top:0}
.roster-tools button{min-height:42px;white-space:nowrap}
.roster-results-meta{color:var(--muted);font-size:12px;margin:4px 0 10px}
.roster-results-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:4px 0 14px}
.roster-results-header .roster-results-meta{margin:0}
.roster-view-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 80%,#dbe4ec)}
.roster-view-switch button{padding:8px 12px;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}
.roster-view-switch button[aria-pressed="true"]{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px #081b2b1f}
.roster-view-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.roster-view-cards .roster-mobile-sort{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:2px 0 14px}
.roster-view-cards .roster-mobile-sort>span{font-size:11px;font-weight:700;color:var(--muted)}
.roster-view-cards .roster-mobile-sort .roster-sort-button{width:auto;min-height:34px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px;letter-spacing:0;text-transform:none}
.roster-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,220px));justify-content:center;gap:19px;padding:22px;border-radius:12px}
.roster-trading-card{position:relative;display:block;width:100%;aspect-ratio:5/6.7;padding:0;border:0;border-radius:0;overflow:visible;isolation:isolate;background:transparent;color:#fff;text-align:center;box-shadow:none}
.roster-trading-card .player-card-front{box-shadow:0 10px 19px #020d1b80;transform:perspective(700px) rotateX(var(--roster-tilt-x,0deg)) rotateY(var(--roster-tilt-y,0deg));transition:transform .48s cubic-bezier(.2,.75,.2,1),box-shadow .48s ease}
.roster-trading-card .player-card-front:before{border:0}
.roster-trading-card .player-card-front::after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse 55% 45% at var(--roster-glare-x,50%) var(--roster-glare-y,50%),#fff9 0%,#c9f5ff65 18%,transparent 75%),conic-gradient(from var(--roster-foil-angle,105deg) at var(--roster-glare-x,50%) var(--roster-glare-y,50%),transparent 0deg,color-mix(in srgb,var(--player-team-color) 55%,transparent) 45deg,#f2b9ec60 88deg,#ffe8a269 140deg,transparent 210deg,#9ae3ed55 290deg,transparent 360deg);background-blend-mode:screen;mix-blend-mode:screen;transition:opacity .4s ease}
@media(hover:hover){.roster-trading-card:hover .player-card-front{box-shadow:0 17px 26px #020d1ba6;transition:box-shadow .12s ease;will-change:transform}.roster-trading-card:hover .player-card-front::after{opacity:var(--roster-foil-opacity,.45);transition-duration:.12s}}
.roster-trading-card:focus-visible{outline:3px solid #66e1d6;outline-offset:3px}
.roster-trading-card .player-card-center{width:72%;border-width:2px;box-shadow:0 0 0 3px #ffffff3d,0 0 12px #ffffff9c,0 10px 18px #030d19c9}
.roster-trading-card .player-card-title{gap:4px;padding:8px 9px 19px}
.roster-trading-card .player-card-title strong{font-size:clamp(22px,2.4vw,29px);letter-spacing:-.6px}
.roster-trading-card .player-card-title span{font-size:8px;letter-spacing:2px}
.roster-trading-card .player-card-title .player-card-number{font-size:22px}
@media(max-width:600px){.roster-results-header{align-items:flex-start}.roster-view-cards .roster-mobile-sort{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.roster-card-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:10px}.roster-trading-card .player-card-title strong{font-size:clamp(19px,5.5vw,26px)}.roster-trading-card .player-card-title{padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){.roster-trading-card .player-card-front{transform:none;transition:none}.roster-trading-card .player-card-front::after{display:none}}
.roster-page-table{min-width:760px}
.roster-page-table th{padding:0}
.roster-sort-button{display:flex;align-items:center;gap:5px;width:100%;min-height:42px;padding:12px;background:transparent;border-radius:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;white-space:nowrap}
.roster-sort-button:hover,.roster-sort-button[data-active="true"]{color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.roster-sort-arrow{font-size:10px;line-height:1}
.roster-player-row{cursor:pointer}
.roster-player-row:hover,.roster-player-row:focus-visible{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.roster-player-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.roster-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;margin-bottom:18px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.roster-bulk-toolbar [data-bulk-count]{margin-right:auto;color:var(--muted);font-size:12px}
.roster-bulk-toolbar button:disabled{opacity:.55;cursor:not-allowed}
.roster-bulk-selected{outline:3px solid var(--accent);outline-offset:-3px}
.roster-bulk-cell{width:50px;text-align:center}
.roster-bulk-cell input{width:18px;height:18px;pointer-events:none;accent-color:var(--accent)}
.roster-card-selection{position:absolute;top:10px;right:10px;z-index:5;display:grid;place-items:center;width:28px;height:28px;border:2px solid white;border-radius:6px;background:#ffffffdb;color:var(--accent);font-size:19px;font-weight:900}
.roster-bulk-names{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.roster-bulk-names span{padding:5px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));font-size:12px}
@media(max-width:600px){.roster-bulk-toolbar button{flex:1 1 auto}.roster-bulk-toolbar [data-bulk-count]{margin-right:0}}
.roster-mobile-sort{display:none}
@media(max-width:600px){.roster-tools .form-field{flex-basis:calc(50% - 8px)}.roster-tools .form-field:first-child{flex-basis:100%}.roster-tools button{width:100%}}
.form-field label{margin:13px 0 6px}
.form-field input,.form-field select{display:block;min-width:0}
form .grid2{margin-top:13px}
form .grid2 .form-field label{margin-top:0}
.form-field+p.muted{margin-top:6px}
#preferences-form .switches label{justify-content:flex-start;gap:10px}
#event-game-fields>div:first-child>label{margin-top:0}

@media(max-width:600px){
  .roster-mobile-sort{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:3px 0 10px;scrollbar-width:none}
  .roster-mobile-sort::-webkit-scrollbar{display:none}
  .roster-mobile-sort>span{flex:none;font-size:11px;font-weight:700;color:var(--muted)}
  .roster-mobile-sort .roster-sort-button{width:auto;flex:none;min-height:34px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px;letter-spacing:0;text-transform:none}
  .roster-page-table,.roster-page-table tbody{display:block;width:100%;min-width:0}
  .roster-page-table thead{display:none}
  .roster-page-table tr{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
  .roster-page-table tr:last-child{border-bottom:0}
  .roster-page-table td{display:block;padding:0;border:0;min-width:0}
  .roster-page-table td:first-child{grid-column:1;grid-row:1/5;align-self:start}
  .roster-page-table td:nth-child(2){grid-column:2;grid-row:1;overflow-wrap:anywhere}
  .roster-page-table td:nth-child(3){grid-column:2;grid-row:2;overflow-wrap:anywhere}
  .roster-page-table td:nth-child(4){grid-column:2;grid-row:3}
  .roster-page-table td:nth-child(5){grid-column:2;grid-row:4;color:var(--muted);font-size:11px}
  .roster-page-table td:nth-child(5)::before{content:attr(data-label) ': ';font-weight:700}
  .roster-page-table td:nth-child(6){grid-column:3;grid-row:2/4;align-self:center}
  .roster-page-table td:nth-child(7){grid-column:2/4;grid-row:5;color:var(--muted);font-size:11px}
  .roster-page-table td:nth-child(7)::before{content:attr(data-label) ': ';font-weight:700}
  .roster-page-table .roles{flex-wrap:wrap}
  .directory-item{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .directory-item>.row{justify-content:flex-start}
  .directory-item>.row button{white-space:nowrap}
  .attendance-tabs{scrollbar-width:none}
  .attendance-tabs::-webkit-scrollbar{display:none}
}
.player-card{border:5px solid #dbe3eb;border-radius:14px;background:#081b2c}
.player-card-front{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;aspect-ratio:5/6.7;min-height:0;overflow:hidden;color:white;background:linear-gradient(180deg,#06152405 0%,#091d2b25 37%,#061321cf 78%,#04101cf5 100%),url('/player-card-arena.png?v=2') center/cover no-repeat}
.player-card-front:before{content:"";position:absolute;inset:0;border:1px solid #ffffff50;pointer-events:none}
.player-card-number{position:relative;align-self:flex-start;margin:16px 20px;padding:3px 12px;border-left:4px solid var(--player-team-color);background:#03121dd9;font-family:Impact,"Arial Narrow",sans-serif;font-size:34px;line-height:1;letter-spacing:1px;text-shadow:1px 2px 3px #000}
.player-card-center{position:relative;display:grid;place-items:center;width:min(52%,215px);aspect-ratio:1;border:5px solid #fff;border-radius:50%;background:color-mix(in srgb,var(--player-team-color) 45%,#10243b);box-shadow:0 0 0 5px #ffffff4d,0 16px 45px #000b;overflow:hidden;margin:auto 0}
.player-card-center img{width:100%;height:100%;object-fit:cover}
.player-card-center span{font-size:70px;font-weight:900}
.player-card-title{position:relative;display:grid;width:100%;gap:8px;padding:10px 16px 33px;text-align:center;text-shadow:0 3px 14px #000,0 2px 3px #000}
.player-card-center,.player-card-title{z-index:1}
.player-card-stripe1 {
    width: 148%;
    height: 20%;
    z-index: 0;
    position: absolute;
    background: var(--player-team-color);
    transform: rotate(-26deg);
    bottom: 0;
    opacity: .6;
    mix-blend-mode: multiply;
}

.player-card-stripe2 {
    width: 148%;
    height: 26%;
    z-index: 0;
    position: absolute;
    background: var(--player-team-color);
    transform: rotate(-26deg);
    bottom: -76px;
    opacity: .5;
    mix-blend-mode: multiply;
}
.player-card-title strong{font-family:Impact,"Arial Narrow",Inter,sans-serif;font-size:clamp(34px,5vw,49px);font-weight:900;line-height:.95;letter-spacing:-1px;text-transform:uppercase;overflow-wrap:anywhere}
.player-card-title span{font-size:12px;font-weight:800;letter-spacing:4px;text-transform:uppercase}
.player-profile-details{border-bottom:1px solid var(--line)}
.player-profile-details summary{cursor:pointer;padding:15px 19px;font-size:12px;font-weight:750;color:var(--muted)}
.player-profile-meta{padding:0 19px 12px;font-size:12px;color:var(--muted)}
.player-profile-details .player-card-details{padding:0 16px 9px}
.player-photo-preview{display:block;width:75px;height:75px;object-fit:cover;border-radius:50%;margin:8px 0 11px;border:2px solid var(--line)}
.player-photo-crop{display:grid;justify-items:center;gap:10px;margin:12px 0 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 80%,#dbe8f2)}
.player-photo-crop[hidden]{display:none}
.player-photo-crop canvas{display:block;width:min(100%,280px);height:auto;aspect-ratio:1;border:3px solid #fff;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ccd9e4,0 8px 20px #07182730;cursor:grab;touch-action:none}
.player-photo-crop canvas:active{cursor:grabbing}
.player-photo-crop canvas:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.player-photo-crop label{margin:2px 0 0;font-size:12px;font-weight:700}
.player-photo-crop input[type=range]{width:min(100%,280px);margin:0;accent-color:var(--accent)}
dialog:has(.player-card){width:455px}
dialog:has(.player-card)>.close{top:12px;right:max(56px,calc(50% - 215.5px))}
@media(max-width:500px){.player-card-front{aspect-ratio:5/6.5}.player-card-center{width:50%}.player-card-title{padding-bottom:24px}.player-card-title strong{font-size:clamp(30px,9vw,42px)}.player-card-title span{font-size:10px;letter-spacing:2px}}
.player-card{perspective:1400px}
.player-card-inner{position:relative;width:100%;aspect-ratio:5/6.7;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.player-card.flipped .player-card-inner{transform:rotateY(180deg)}
.player-card-front,.player-card-back{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.player-card-front{cursor:pointer}
.player-card-back{overflow-y:auto;transform:rotateY(180deg);background:#f8fafc;color:#183047;cursor:pointer}
.player-card-front:focus-visible,.player-card-back:focus-visible{outline:3px solid #fff;outline-offset:-7px}
.player-card-back:focus-visible{outline-color:var(--accent)}
.player-card-back-header{padding:25px 24px 21px;background:linear-gradient(135deg,#0e2b43,#092033);border-bottom:4px solid var(--player-team-color);color:#fff}
.player-card-back-header>span{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#bed1dc}
.player-card-back-header h3{margin:7px 30px 9px 0;color:#fff;font-size:24px;line-height:1.1;overflow-wrap:anywhere}
.player-card-back-header p{font-size:12px;color:#c9d9e4}
.player-card-back .player-card-details{display:block;padding:5px 21px 20px;background:transparent}
.player-card-back .player-card-details section,.player-card-back .player-card-details section:nth-child(even):not(.player-card-wide){padding:14px 4px;grid-column:auto}
body.dark .player-card-back{background:#192c3c;color:#e5eef5}
@media(max-width:500px){.player-card-inner{aspect-ratio:5/6.5}}
@media(prefers-reduced-motion:reduce){.player-card-inner{transition:none}}
/* Default player trading card: photo-led front and compact profile back. */
dialog:has(.player-card){width:575px;max-width:calc(100vw - 8px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.player-card{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:0 13px 27px #0715218c}
.player-card-front{border-radius:0;background:linear-gradient(180deg,#0717290a 0%,#0a1e2d0d 45%,#041222ae 77%,#04101eeb 100%),url('/player-card-arena.png?v=2') center/cover no-repeat}
.player-card-front:before{border:1px solid #ffffff26}
.player-card-center{width:min(72%,320px);border:3px solid #f4f8fc;border-radius:50%;box-shadow:0 0 0 5px #ffffff3d,0 0 22px #ffffffc2,0 14px 30px #030d19c9;margin:auto 0 0}
.player-card-title{gap:7px;padding:14px 14px 43px;text-shadow:0 0 8px #ffffff8c,0 3px 10px #020a14,0 1px 2px #020a14}
.player-card-title strong{font-size:clamp(36px,5vw,52px);letter-spacing:-1.5px;line-height:1;filter:drop-shadow(0 0 7px #ffffff78)}
.player-card-title span{font-size:11px;letter-spacing:6px;font-weight:700}
.player-card-title .player-card-number{align-self:center;margin:0;padding:0;border:0;background:none;font-family:Impact,"Arial Narrow",sans-serif;font-size:31px;line-height:1.1;letter-spacing:1px;box-shadow:none;text-shadow:0 0 8px #ffffffb0,0 3px 8px #000c}
/* The enlarged profile front has a cursor-tracked foil sheen; its detail back stays flat. */
dialog .player-card{transform:perspective(1400px) rotateX(var(--profile-tilt-x,0deg)) rotateY(var(--profile-tilt-y,0deg));transition:transform .48s cubic-bezier(.2,.75,.2,1),box-shadow .48s ease}
dialog .player-card.flipped{transform:none}
dialog .player-card-front{user-select:none}
/* Four independent, pointer-tracked foil layers on the enlarged front only. */
dialog .player-card-front :is(.profile-shine,.profile-shine-2,.profile-glare,.profile-glare-2){position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .42s ease}
dialog .player-card-front .profile-shine{background:repeating-linear-gradient(0deg,#61b9d536 0%,#94bfec42 5%,#b89bd547 10%,#e5aaca47 15%,#dfcf9447 20%,#9fd5b83d 25%,#61b9d536 30%),linear-gradient(var(--profile-foil-angle,105deg),transparent 28%,color-mix(in srgb,var(--player-team-color) 65%,transparent) 45%,#e3eeff8c 51%,transparent 67%);background-size:200% 600%,220% 220%;background-position:var(--profile-foil-bgx,50%) var(--profile-foil-bgy,50%);background-blend-mode:screen;mix-blend-mode:color-dodge;filter:brightness(.75) contrast(1.35) saturate(.9)}
dialog .player-card-front .profile-shine-2{background-image:radial-gradient(circle,#fff9 0 1px,transparent 1.5px),radial-gradient(circle,#aedfff8c 0 1px,transparent 1.7px);background-size:17px 19px,29px 23px;background-position:var(--profile-foil-bgx,50%) var(--profile-foil-bgy,50%),var(--profile-foil-bgy,50%) var(--profile-foil-bgx,50%);-webkit-mask-image:radial-gradient(ellipse 58% 54% at var(--profile-foil-x,50%) var(--profile-foil-y,50%),#000 5%,transparent 80%);mask-image:radial-gradient(ellipse 58% 54% at var(--profile-foil-x,50%) var(--profile-foil-y,50%),#000 5%,transparent 80%);mix-blend-mode:screen;filter:brightness(var(--profile-foil-from-center,.5))}
dialog .player-card-front .profile-glare{background:radial-gradient(ellipse 68% 56% at var(--profile-foil-x,50%) var(--profile-foil-y,50%),#fffc 0%,#fff5 24%,transparent 74%);mix-blend-mode:overlay}
dialog .player-card-front .profile-glare-2{background:linear-gradient(var(--profile-foil-angle,105deg),transparent 26%,#b3e8ff2b 42%,#ffffff80 50%,color-mix(in srgb,var(--player-team-color) 55%,transparent) 57%,transparent 72%);background-size:190% 190%;background-position:var(--profile-foil-bgx,50%) var(--profile-foil-bgy,50%);mix-blend-mode:screen}
@media(hover:hover){dialog .player-card.foil-active:not(.flipped){box-shadow:0 20px 38px #071521ad;transition-duration:.12s;will-change:transform}dialog .player-card.foil-active:not(.flipped) .profile-shine{opacity:calc(var(--profile-foil-opacity,.45)*.5)}dialog .player-card.foil-active:not(.flipped) .profile-shine-2{opacity:calc(var(--profile-foil-opacity,.45)*.38)}dialog .player-card.foil-active:not(.flipped) .profile-glare{opacity:calc(var(--profile-foil-opacity,.45)*.8)}dialog .player-card.foil-active:not(.flipped) .profile-glare-2{opacity:calc(var(--profile-foil-opacity,.45)*.4)}dialog .player-card.foil-active:not(.flipped) .player-card-front :is(.profile-shine,.profile-shine-2,.profile-glare,.profile-glare-2){transition-duration:.12s}}
@media(prefers-reduced-motion:reduce){dialog .player-card{transform:none;transition:none}dialog .player-card-front :is(.profile-shine,.profile-shine-2,.profile-glare,.profile-glare-2){display:none}}
.player-card-back{border-radius:0;box-shadow:inset 0 0 0 1px #dbe4eb;background:#f7f9fb}
.player-card-back-header{padding:30px 24px 25px;background:linear-gradient(120deg,#112f46,#071d30);border-bottom:4px solid #182bad}
.player-card-back-header h3{font-size:25px}
.player-card-back .player-card-details{padding:4px 22px 16px;background:transparent}
.player-card-back .player-card-details section,.player-card-back .player-card-details section:nth-child(even):not(.player-card-wide){padding:15px 3px;border-bottom:1px solid #dbe4e9}
.player-card-back .player-card-details section>span{letter-spacing:1.25px}
.player-card-back .player-card-details p{margin-top:9px;font-size:12px;line-height:1.55;white-space:pre-wrap}
.player-card-back .player-card-details p span[aria-hidden]{display:inline-block;width:17px;color:#344b5f}
.player-card-back .player-card-relationship{padding:10px 0;gap:8px}
.player-card-back .player-card-relationship strong{font-size:12px;color:#183047}
.player-card-back .player-card-relationship small{font-size:11px;color:#495c6c}
.player-card-back .player-card-relationship .row{flex-shrink:0}
.player-card-back .player-card-relationship button{padding:7px 9px;background:#eaf0f4;border-color:#e1e8ee}
dialog:has(.player-card) form{display:grid;grid-template-columns:minmax(44px,1fr) minmax(0,455px) minmax(44px,1fr)}
dialog:has(.player-card) form>.player-card{grid-column:2;grid-row:1}
dialog:has(.player-card) form>.form-error,dialog:has(.player-card) form>.form-actions{grid-column:1/-1}
.player-card-navigation{position:relative;grid-column:1/-1;grid-row:1;z-index:1;pointer-events:none}
.player-card-navigation button{position:absolute;top:50%;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #dbe5ed;border-radius:50%;background:#f8fafcf0;color:#173047;box-shadow:0 4px 14px #06162599;transform:translateY(-50%);pointer-events:auto}
.player-card-navigation button:hover:not(:disabled){background:#fff}
.player-card-navigation button:focus-visible{outline:3px solid #59d8ca;outline-offset:2px}
.player-card-navigation button::before{content:"";width:10px;height:10px;border-left:3px solid currentColor;border-bottom:3px solid currentColor}
.player-card-navigation #previous-player{left:8px}
.player-card-navigation #previous-player::before{transform:translateX(2px) rotate(45deg)}
.player-card-navigation #next-player{right:8px}
.player-card-navigation #next-player::before{transform:translateX(-2px) rotate(225deg)}
@media(max-width:500px){.player-card-navigation button{width:40px;height:40px}.player-card-navigation #previous-player{left:2px}.player-card-navigation #next-player{right:2px}}
dialog:has(.player-card) .player-card-actions{justify-content:center;gap:8px;padding:15px 0 0;background:transparent}
dialog:has(.player-card) .player-card-actions [data-cancel]{display:none}
dialog:has(.player-card) .player-card-actions button{box-shadow:0 5px 13px #0b192a4a}
dialog:has(.player-card) .player-card-actions .ghost{background:#f8fafc;border-color:#e5ebf0}
body.dark .player-card-back{background:#192c3c}
body.dark .player-card-back .player-card-relationship strong{color:#e5eef5}
body.dark .player-card-back .player-card-details section{border-color:#375062}
@media(max-width:500px){.player-card-center{width:72%}.player-card-title{padding:10px 12px 29px}.player-card-title strong{font-size:clamp(31px,9vw,44px)}.player-card-title span{letter-spacing:3px}.player-card-title .player-card-number{font-size:27px}.player-card-back-header{padding:24px 20px 21px}.player-card-back .player-card-details{padding:3px 17px 13px}dialog:has(.player-card) form{grid-template-columns:minmax(0,1fr)}dialog:has(.player-card) form>.player-card,dialog:has(.player-card) form>.player-card-navigation{grid-column:1;min-width:0}dialog:has(.player-card) .player-card-actions{padding-top:12px}}
dialog:has(.roster-import-review),dialog:has(.import-mapping){width:880px}
.import-mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px;margin:15px 0 18px}
.import-mapping .form-field{min-width:0}
.import-mapping select{width:100%}
.roster-import-review>.muted{margin:8px 0 16px}
.import-player-list{display:grid;gap:14px}
.schedule-ai-source-options{display:flex;justify-content:center;gap:38px;margin:23px 0 21px;--schedule-ai-team-color:var(--accent)}.schedule-ai-choice,.schedule-ai-choice:hover{background:transparent!important;border:0!important;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:95px;padding:0;background:transparent;border:0;color:inherit;font-size:12px;font-weight:650}.schedule-ai-choice-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--schedule-ai-team-color) 76%,#172537),color-mix(in srgb,var(--schedule-ai-team-color) 61%,#172537));transition:transform .18s,box-shadow .18s}.schedule-ai-choice:hover .schedule-ai-choice-icon{transform:translateY(-2px);box-shadow:0 10px 20px color-mix(in srgb,var(--schedule-ai-team-color) 55%,transparent),0 2px 5px #10253b43}.schedule-ai-choice:focus-visible{outline:none}.schedule-ai-choice:focus-visible .schedule-ai-choice-icon{outline:3px solid var(--schedule-ai-team-color);outline-offset:4px}.schedule-ai-choice svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin:0}.schedule-ai-selected{margin:0 0 16px}.schedule-ai-selected>strong{display:block;margin-bottom:8px;font-size:12px}.schedule-ai-files{display:grid;gap:8px;list-style:none;margin:0;padding:0}.schedule-ai-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere}.schedule-ai-files li span{min-width:0}.schedule-ai-files small{color:var(--muted);white-space:nowrap}.schedule-ai-files button{flex:none}@media(max-width:460px){.schedule-ai-source-options{gap:22px}.schedule-ai-choice-icon{width:56px;height:56px}}

#activity{position:fixed;top:calc(env(safe-area-inset-top) + 16px);right:16px;z-index:35;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 14px;border-radius:999px;background:#16283a;color:#fff;box-shadow:0 8px 24px #10253b38;font-size:12px;font-weight:700;pointer-events:none}
.schedule-ai-choice[hidden]{display:none}
.schedule-import-selected{text-align:center;margin:-7px 0 18px;overflow-wrap:anywhere}
.schedule-location-suggestion,.schedule-game-number-notice{margin:12px 0;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));line-height:1.5}
.schedule-location-suggestion{display:grid;gap:7px}
.schedule-location-suggestion label{display:grid;gap:5px}
dialog:has(.schedule-import-fields){width:min(820px,calc(100vw - 24px))}
.schedule-import-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;align-items:end}
.schedule-import-field{min-width:0}
.schedule-import-field[hidden]{display:none}
.schedule-import-field>label{margin:0}
.schedule-opponent-heading{display:flex;align-items:center;gap:7px;min-height:19px}
.schedule-opponent-input{position:relative}
.schedule-opponent-input input{padding-right:36px}
.schedule-opponent-open{position:absolute;right:1px;top:6px;bottom:1px;display:grid;place-items:center;width:34px;padding:0;border:0;border-left:1px solid var(--line);border-radius:0 6px 6px 0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.schedule-opponent-open:hover,.schedule-opponent-open:focus-visible{color:var(--text);background:color-mix(in srgb,var(--accent) 13%,transparent)}
.schedule-opponent-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:210px;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:0 12px 28px #0005}
.schedule-opponent-options[hidden]{display:none}
.schedule-opponent-options button{display:block;width:100%;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.schedule-opponent-options button:hover,.schedule-opponent-options button:focus-visible{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}
.schedule-opponent-status:not([hidden]){display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:750;line-height:1.4;background:color-mix(in srgb,var(--accent) 19%,var(--surface));color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line))}
.schedule-opponent-status[data-opponent-status="new"]{background:color-mix(in srgb,#e5b73b 21%,var(--surface));border-color:color-mix(in srgb,#e5b73b 55%,var(--line))}
.schedule-opponent-status[data-opponent-status="ambiguous"]{background:color-mix(in srgb,#cb2857 15%,var(--surface));border-color:color-mix(in srgb,#cb2857 45%,var(--line))}
.schedule-import-field :is(input:not([type=checkbox]),select){display:block;width:100%;min-width:0;margin-top:6px}
.schedule-import-field[data-import-field="decision"],.schedule-import-field[data-import-field="locationPrompt"]{grid-column:1/-1}
.schedule-import-field[data-import-field="allDay"]{align-self:end;padding:0 0 11px}
.import-player[data-import-kind="game"] .schedule-import-field[data-import-field="allDay"]{grid-column:1/-1;padding:0}
.schedule-import-field[data-import-field="allDay"] .check-label{display:flex;align-items:center;gap:9px}
.schedule-import-field[data-import-field="allDay"] input{margin:0}
@media(max-width:540px){.schedule-import-fields{grid-template-columns:minmax(0,1fr)}.schedule-import-field[data-import-field="decision"],.schedule-import-field[data-import-field="locationPrompt"]{grid-column:1}}
.schedule-duplicate-badge[hidden],.schedule-replace-target[hidden],.schedule-replace-attendance[hidden],.schedule-replace-notify[hidden],.schedule-replace-note[hidden],.schedule-duplicate-confirm[hidden]{display:none}
#activity[hidden]{display:none}
.activity-spinner,dialog[data-working] h2::after,button.is-working::before{display:inline-block;width:16px;height:16px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-3px;animation:activity-spin .7s linear infinite}
.activity-spinner{color:#fff}
dialog[data-working] h2::after{content:'';margin-left:10px;color:var(--accent)}
button.is-working::before{content:'';margin-right:8px;color:currentColor}
@keyframes activity-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.activity-spinner,dialog[data-working] h2::after,button.is-working::before{animation:none}}
@media print{#activity{display:none!important}}
.import-player{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.import-player-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px}
.import-player-error{color:#b73535;font-size:12px;font-weight:650}
.import-player-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 12px}
.import-player-fields label,.import-player-decision label{min-width:0}
.import-player-fields input,.import-player-fields select,.import-player-decision select{display:block;min-width:0;width:100%;margin-top:6px}
.import-player-roles{display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;margin:10px 0}
.import-player-roles>span{font-size:12px;color:var(--muted);font-weight:650}
.import-player-roles label{display:inline-flex;align-items:center;gap:5px;margin:0}
.import-player-decision{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.import-player details{margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}
.import-player summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:700}
.import-player details .import-player-fields{margin-top:8px}
@media(max-width:700px){.import-mapping{grid-template-columns:repeat(2,minmax(0,1fr))}.import-player-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.import-mapping,.import-player-fields,.import-player-decision{grid-template-columns:minmax(0,1fr)}.import-player{padding:13px}.import-player-heading{align-items:flex-start;flex-direction:column}}
.player-card-back-header{position:relative;min-height:142px;padding-right:176px;overflow:hidden}
.player-card-back-avatar{position:absolute;top:-18px;right:8px;display:grid;place-items:center;width:160px;height:160px;overflow:hidden;border:3px solid #fff;border-radius:50%;background:color-mix(in srgb,var(--player-team-color) 45%,#10243b);box-shadow:0 0 0 3px #ffffff45,0 8px 18px #020c18a8}
.player-card-back-avatar img{width:100%;height:100%;object-fit:cover}
.player-card-back-avatar span{font-size:29px;font-weight:900;color:#fff}
dialog:has(.player-card)>.close{z-index:3;margin:.5rem;top:0;right:max(44px,calc((100% - 455px)/2));display:flex;flex-direction:column;place-items:center;width:28px;height:28px;padding:0;border-radius:100%;background:#fff;color:#182bad;font-size:22px;line-height:1;text-shadow:none}
dialog:has(.player-card)>.close:hover{background:#eef2ff}
@media(max-width:500px){.player-card-back-header{padding-right:calc(36% + 8px)}.player-card-back-avatar{top:0;right:7px;width:35%;height:auto;aspect-ratio:1}}
@media(max-width:360px){.player-card-back-header{padding-right:calc(36% + 6px)}.player-card-back-avatar span{font-size:22px}}
.archived-players{margin-top:20px}
.archived-players .card-title{gap:16px}
.archived-players .card-title .muted{margin-top:5px}
.archived-player-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}
.archived-player-row>div:first-child{min-width:0}
.archived-player-row strong{font-size:13px}
.archived-player-row .muted{margin-top:3px}
@media(max-width:600px){.archived-player-row{align-items:flex-start;flex-direction:column}.archived-player-row .row{width:100%}}
.edit-player-archive{margin-right:auto}
@media(max-width:500px){.form-actions:has(.edit-player-archive){flex-wrap:wrap}.edit-player-archive{width:100%;margin-right:0}}
/* Team settings */
.settings-tabs{margin:0 0 18px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}

.lineup-stats{margin-top:18px}
.lineup-stats .card-title{align-items:flex-start}
.lineup-stats .card-title p{margin-top:7px;max-width:760px}
.lineup-stats-scroll{overflow-x:auto}
.lineup-stats-table{width:100%;min-width:650px;border-collapse:collapse;text-align:left;font-size:13px}
.lineup-stats-table th,.lineup-stats-table td{padding:12px 14px;border-bottom:1px solid var(--line)}
.lineup-stats-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.lineup-stats-table tbody tr:last-child>*{border-bottom:0}
.lineup-stats-table tbody td:nth-child(n+3){font-variant-numeric:tabular-nums}
.lineup-stats-table tbody td .muted{display:block;margin-top:2px;font-size:11px}
.lineup-stats-table .stats-sort-button{display:inline-flex;align-items:center;gap:7px;padding:2px 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap}
.lineup-stats-table .stats-sort-button:hover,.lineup-stats-table .stats-sort-button.active{background:transparent;color:var(--accent)}
.lineup-stats-table .stats-sort-button span{font-size:10px;opacity:.55}
.lineup-stats-table .stats-sort-button.active span{opacity:1}
.lineup-stats-table .stats-sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.settings-tabs::-webkit-scrollbar{display:none}
.settings-panel{min-width:0}
.settings-grid,.settings-scheduling-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.settings-grid>.card:first-child{grid-column:1}
.settings-details-side,.settings-scheduling-column{display:grid;gap:18px;align-content:start;min-width:0}
.settings-grid>.card:not(:first-child){grid-column:1 / -1}
.settings-grid .card,.settings-scheduling-column>.card,.settings-panel>.card{margin:0;max-width:none}
.settings-following-card{margin-top:18px}
.settings-following-card>.archived-players{margin:0}
.settings-panel[data-settings-tab="lineups"]>.card:first-child,.settings-panel[data-settings-tab="general"]>.card{max-width:720px}
.formation-default-field{min-width:0;margin:12px 0 0;padding:0;border:0}
.formation-default-field legend{margin-bottom:7px;color:#637286;font-size:12px;font-weight:650}
.settings-print-copies{max-width:320px;min-width:0;margin:24px 0 18px;padding:0;border:0}
.settings-print-copies legend{margin-bottom:10px;color:#637286;font-size:12px;font-weight:650}
.settings-print-copies .muted{margin:7px 0 0}
.formation-default-options{display:flex;flex-wrap:wrap;gap:7px}
.formation-default-options button{display:inline-flex;align-items:center;min-height:38px;margin:0;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:inherit;font-size:12px;cursor:pointer}
.formation-default-options button.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 70%,var(--surface))!important;font-weight:700}
.formation-default-options button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.formation-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.formation-card-actions button svg{width:14px;height:14px}
.settings-scheduling-column>.card{width:100%;margin:0!important;max-width:none!important}
.settings-inline-form{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.settings-staff-row{padding:10px 0;gap:10px;border-bottom:1px solid var(--line);font-size:13px}
.settings-panel form>.primary{margin-top:14px}
.event-venue-detail{font-size:13px;font-weight:600;margin:0 0 6px;color:inherit}
@media(max-width:1100px){.settings-grid,.settings-scheduling-layout{grid-template-columns:1fr}.settings-grid>.card:first-child,.settings-grid>.card:not(:first-child){grid-column:auto}.settings-scheduling-layout{display:flex;flex-direction:column}.settings-scheduling-column{display:contents}.settings-scheduling-column:first-child>.card:first-child{order:1}.settings-scheduling-column:last-child>.card{order:2}.settings-scheduling-column:first-child>.card:nth-child(2){order:3}.settings-scheduling-column:first-child>.card:nth-child(3){order:4}.settings-scheduling-column:first-child>.card:nth-child(4){order:5}.settings-tabs{display:flex}}
.lineup-status-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:16px 18px;border:1px solid #d5e5f0;border-radius:12px;background:#eef6fb;color:#17344b}.lineup-status-notice strong{display:block;font-size:14px}.lineup-status-notice p{margin-top:4px;font-size:12px;line-height:1.5}.lineup-status-notice button{flex:none;background:#fff;border-color:#bfd4e3}.lineup-status-notice button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:650px){.lineup-status-notice{align-items:stretch;flex-direction:column;gap:12px}.lineup-status-notice button{width:100%}}
body.dark .lineup-status-notice{border-color:#315466;background:#193445;color:#e5f0f6}body.dark .lineup-status-notice button{background:#244659;border-color:#42677a;color:#e5f0f6}
.lineup-empty-details{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.lineup-empty-details>summary{cursor:pointer;padding:15px 18px;font-size:13px;font-weight:700;list-style-position:inside}.lineup-empty-details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.lineup-empty-details[open]>summary{border-bottom:1px solid var(--line)}.lineup-empty-details>.lineup-layout{padding:18px}
.unit select.lineup-select-provisional{border:2px solid #d9a000;background:#fff5cf;color:#604700;box-shadow:0 0 0 2px #ffc30030;font-weight:700}
body.dark .unit select.lineup-select-provisional{border-color:#e5b83b;background:#4b3d18;color:#ffe49c;box-shadow:0 0 0 2px #ffc30035}
.lineup-available>p{margin:6px 0 12px;font-size:11px}.lineup-available-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lineup-available-hand{min-width:0}.lineup-available-hand>strong{display:block;margin-bottom:8px;font-size:11px}.lineup-available-hand>strong span{color:var(--muted)}.lineup-available-list{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.lineup-available-list .pill{max-width:100%}.lineup-available-unknown{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line)}.lineup-available .lineup-provisional{border:1px dashed #d6a11a;background:#fff7dc;color:#6c5107}.lineup-available .lineup-provisional small{font-size:9px;font-weight:700;text-transform:none}.rink-player.provisional b{border:2px dashed #ffc300;box-shadow:0 0 0 2px #fff8}.rink-player.provisional span{color:#8b6500;font-weight:800}body.dark .lineup-available .lineup-provisional{background:#4b3d18;color:#ffe49c;border-color:#e5b83b}body.dark .rink-player.provisional span{color:#ffe49c}
.print-provisional-legend{margin:-4px 0 8px;color:#755500;font-size:9px;font-weight:700}
/* Keep the game-day lineup readable without making every unit a tall card. */
.lineup-layout{gap:16px;align-items:start}
.lineup-layout>.stack{gap:9px;align-content:start;min-width:0}
.lineup-layout>.stack>.row{margin-bottom:3px}
.lineup-unit-group{border:1px solid var(--line);border-radius:10px;background:var(--line);overflow:hidden}
.lineup-unit-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 2px}
.lineup-unit-group-title h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lineup-unit-group>.lineup-even-unit{border:0;border-radius:0;background:transparent}
.lineup-unit-group>.lineup-even-unit:not(.lineup-even-goalies){grid-template-columns:28px minmax(0,1fr) auto;gap:8px;padding:7px 12px}
.lineup-unit-group>.lineup-even-goalies{display:block;padding:7px 12px 12px}
.lineup-clear-button{display:inline-grid;place-items:center;flex:none;align-self:center;width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--muted)}
.lineup-clear-button .icon{width:14px;height:14px;margin:0}
.lineup-clear-all .icon{width:15px;height:15px;margin-right:6px}
.lineup-clear-button:hover{background:var(--surface);color:var(--accent)}
.lineup-clear-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lineup-even-unit{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;background:var(--line)}
.lineup-even-unit .unit-head{margin:0}
.lineup-even-unit .unit-head .eyebrow{display:none}
.lineup-even-unit .unit-positions{min-width:0}
.lineup-even-unit .slot-label{margin-bottom:3px}
.lineup-even-unit select{padding:7px 5px;min-width:0}
.lineup-available{padding:0}
.lineup-available>summary{cursor:pointer;padding:13px 16px;font-size:12px;font-weight:750;list-style-position:inside}
.lineup-available>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.lineup-available[open]>summary{border-bottom:1px solid var(--line)}
.lineup-available[open]>p,.lineup-available[open]>.lineup-available-columns{margin-left:16px;margin-right:16px}
.lineup-available[open]>.lineup-available-columns{margin-bottom:16px}
@media(max-width:480px){.lineup-available-columns{grid-template-columns:minmax(0,1fr)}.lineup-available-unknown{grid-column:auto}}
.special-grid{gap:10px}
.lineup-special-group+.lineup-special-group{margin-top:14px}
.lineup-special-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px;padding:0 2px}
.lineup-special-group-title h3{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.lineup-special-unit{min-width:0;padding:12px}
.lineup-special-unit .unit-head{margin-bottom:10px}
.lineup-special-controls{display:flex;align-items:center;gap:4px;min-width:0}
.lineup-special-controls select{min-width:0}
.lineup-special-body{display:grid;grid-template-columns:minmax(115px,.8fr) minmax(0,1fr);align-items:center;gap:10px}
.lineup-special-body .rink{margin:0;min-width:0}
.lineup-special-body .special-slots{min-width:0;gap:6px}
.lineup-special-body .special-slots label{min-width:0}
.lineup-special-body .special-slots select{min-width:0;padding:7px 4px}
@media(max-width:760px){.special-grid{grid-template-columns:1fr}.lineup-special-body{grid-template-columns:minmax(110px,.65fr) minmax(0,1fr)}.lineup-even-unit{grid-template-columns:64px minmax(0,1fr);gap:8px}.lineup-even-unit .unit-positions{gap:4px}.lineup-special-unit{padding:11px}}
@media(max-width:420px){.lineup-even-unit{grid-template-columns:1fr;gap:5px}.lineup-unit-group>.lineup-even-unit:not(.lineup-even-goalies){grid-template-columns:28px minmax(0,1fr) auto;gap:5px}.lineup-even-unit .unit-positions select{font-size:10px}.lineup-special-body{grid-template-columns:minmax(95px,.55fr) minmax(0,1fr);gap:7px}.lineup-special-body .special-slots .position-num{padding:2px 5px}}
@media(max-width:420px){.page-head:has(#lineup-game) .header-actions{width:100%;min-width:0}.page-head:has(#lineup-game) #lineup-game{width:100%;max-width:100%}}
.lineup-special-body{display:block}
.lineup-special-body .rink{width:min(100%,250px);margin:0 auto;touch-action:auto}
.lineup-special-body .rink-player{z-index:1}
.lineup-special-body .rink-player:focus-within b{outline:3px solid var(--accent);outline-offset:3px}
.lineup-special-body .rink-position-button{position:absolute;z-index:2;left:50%;top:-7px;transform:translateX(-50%);width:44px;height:44px;padding:0;border-radius:50%;background:transparent!important;color:transparent;font-size:0;cursor:pointer}
.lineup-special-body .rink-position-button:hover{background:#ffffff26}
.lineup-special-body .rink-position-button:disabled{cursor:not-allowed}
.lineup-player-picker{position:fixed;z-index:40;width:min(280px,calc(100vw - 16px));max-height:min(380px,calc(100vh - 16px));display:flex;flex-direction:column;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 45px #10253b45;color:inherit}
.lineup-picker-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:12px}
.lineup-picker-head button{padding:2px 7px;font-size:20px;background:transparent}
.lineup-picker-hint{margin:0 0 8px;color:var(--muted);font-size:10px;line-height:1.3}
.lineup-player-picker input{flex:none;font-size:12px;padding:8px 10px;margin-bottom:8px}
.lineup-picker-list{overflow:auto;min-height:0;display:grid;align-content:start;gap:2px}
.lineup-picker-list button{width:100%;text-align:left;padding:8px 9px;font-size:12px;background:transparent}
.lineup-picker-list button.lineup-picker-player{font-weight:500}
.lineup-picker-list button.lineup-special-unassigned{font-weight:800}
.print-panel-primary>h2{font-size:13px;margin:8px 0 4px}
.print-panel-primary>h3{margin:7px 0 3px}
.print-panel-primary .print-line{padding:4px 0}
.print-attendance{margin-top:13px;padding-top:9px;border-top:2px solid #172537}
.print-attendance>h3{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 7px;font-size:12px}
.print-attendance>h3 span{font-size:10px;color:#526174}
.print-attendance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.print-attendance-column,.print-attendance-unknown{min-width:0}
.print-attendance h4{margin:0 0 5px;padding-bottom:3px;border-bottom:1px solid #cbd3dc;font-size:9px;text-transform:uppercase;letter-spacing:.45px}
.print-attendance-player{display:flex;align-items:baseline;gap:4px;min-width:0;padding:2px 0;font-size:9px;line-height:1.2}
.print-attendance-player b{min-width:17px;font-weight:800}
.print-attendance-player span{min-width:0;overflow-wrap:anywhere}
.print-attendance-empty{font-size:9px;color:#758395}
.print-attendance-unknown{margin-top:8px}
@media print{
  .print-panel-primary>h2{font-size:11px;margin:2mm 0 1mm}
  .print-panel-primary>h3{font-size:9px;margin:2mm 0 1mm}
  .print-panel-primary .print-line{font-size:8px;padding:1.3mm 0}
  .print-attendance{margin-top:3mm;padding-top:2mm}
  .print-attendance>h3{font-size:10px;margin-bottom:1.5mm}
  .print-attendance-grid{gap:2.5mm}
  .print-attendance h4{font-size:8px;margin-bottom:1mm}
  .print-attendance-player{font-size:8px;padding:.55mm 0}
  .print-attendance-player b{min-width:4mm}
  #print-sheet.compact .print-attendance-player{font-size:7px;padding:.3mm 0}
}
.lineup-picker-list button:hover,.lineup-picker-list button.selected{background:#e9f5f1;color:#087865}
.lineup-picker-list button small{color:#9b6b0b;font-size:10px}
.lineup-picker-group{font-size:10px;font-weight:800;color:var(--muted);padding:9px 8px 3px}
body.dark .lineup-picker-list button:hover,body.dark .lineup-picker-list button.selected{background:#244b47;color:#b8f1df}
.event-status.conflict,.calendar-status.conflict{background:#fff1d6;color:#8a5600}
.event-conflict-detail{margin:0 0 18px}.event-conflict-detail p,.event-conflict-warning p{margin:5px 0 0}.event-conflict-detail .row{margin-top:10px}
.event-conflict-warning{margin-top:12px}
body.dark .event-status.conflict,body.dark .calendar-status.conflict{background:#584321;color:#ffe0a0}

/* The rink artwork uses square coordinates; keep the print and modal preview square. */
.print-preview-sheet .rink{aspect-ratio:1}
@media print{
  .print-panel .rink{width:min(100%,61mm);height:auto;aspect-ratio:1;margin:2mm auto}
}

/* Square off modal and floating-form surfaces, while preserving intentional circles. */
dialog,dialog *:not(input[type=radio]),.lineup-player-picker,.lineup-player-picker *{border-radius:0!important;color: white;}
dialog :is(.avatar,.rink-player b,.special-slots .position-num,.calendar-date,.player-card-team-logo,.player-card-center,.player-photo-preview,.player-photo-crop canvas,.player-card-navigation button,.schedule-ai-choice-icon,.player-card-back-avatar),dialog:has(.player-card)>.close{border-radius:50%!important}

@media screen{
  #app .event-row[data-row-event]{cursor:pointer}
  #app .event-row[data-row-event]:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--line))}
  #app .event-row[data-row-event]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  #app .event-featured-main{grid-template-columns:54px minmax(145px,1.25fr) minmax(72px,.7fr) minmax(72px,.7fr) minmax(125px,1fr) minmax(240px,1.55fr)}
  #app .event-standard-main{grid-template-columns:54px minmax(180px,1fr) minmax(255px,1.2fr)}
  #app .event-rsvp-toggle,#app .event-rsvp-shell{display:none}
  #app .attendance-tabs .attendance-tab-count{display:inline-grid;place-items:center;min-width:23px;width:23px;height:23px;margin-left:6px;padding:0;border-radius:50%;background:#66778b;color:#fff;font-size:11px;font-weight:800;line-height:1}
  #app .attendance-tabs .attendance-tab-count.going{background:#078b68}
  #app .attendance-tabs .attendance-tab-count.not_going{background:#cb2857}
  #app .attendance-tabs .attendance-tab-count.maybe{background:#e5b73b;color:#302307}
  #app .attendance-tabs .attendance-tab-count.no_response{background:#66778b}
  #app .attendance-tabs .attendance-tab-count.all{background:color-mix(in srgb,var(--accent) 70%,#53647a)}
  #app .attendance-tabs button[data-attendance-tab="all"]:hover,#app .attendance-tabs button[data-attendance-tab="all"].active{background:color-mix(in srgb,#223391 30%,transparent)!important;color:white}
  #app .attendance-tabs button[data-attendance-tab="going"]:hover,#app .attendance-tabs button[data-attendance-tab="going"].active{background:color-mix(in srgb,#078b68 30%,transparent)!important;color:white}
  #app .attendance-tabs button[data-attendance-tab="not_going"]:hover,#app .attendance-tabs button[data-attendance-tab="not_going"].active{background:color-mix(in srgb,#cb2857 30%,transparent)!important;color:white}
  #app .attendance-tabs button[data-attendance-tab="maybe"]:hover,#app .attendance-tabs button[data-attendance-tab="maybe"].active{background:color-mix(in srgb,#e5b73b 30%,transparent)!important;color:white}
  #app .attendance-tabs button[data-attendance-tab="no_response"]:hover,#app .attendance-tabs button[data-attendance-tab="no_response"].active{background:color-mix(in srgb,#66778b 40%,transparent)!important;color:white}
}
@media screen and (max-width:1250px){
  #app .event-featured-main{grid-template-columns:54px minmax(140px,1.2fr) repeat(3,minmax(80px,.8fr))}
  #app .event-featured-attendance{grid-column:2/-1}
}
@media screen and (max-width:1100px){
  #app .event-standard-main{grid-template-columns:54px minmax(0,1fr)}
  #app .event-standard-attendance{grid-column:2/-1}
}
@media screen and (max-width:760px){
  #app .event-featured-main,#app .event-standard-main{grid-template-columns:54px minmax(0,1fr)}
  #app .event-featured-attendance,#app .event-standard-attendance{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
  #app .event-quick-responses-desktop{display:none!important}
  #app .event-rsvp-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:38px;min-width:64px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--accent) 65%,#a6b6d1);background:color-mix(in srgb,var(--accent) 30%,#172637);color:#fff;font-size:11px;font-weight:800;letter-spacing:.4px}
  #app .event-rsvp-shell{display:block;position:fixed;inset:0;z-index:60;visibility:hidden;pointer-events:none}
  #app .event-rsvp-shell.open{visibility:visible;pointer-events:auto}
  #app .event-rsvp-backdrop{position:fixed;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(3,12,27,.62);opacity:0;transition:opacity .3s}
  #app .event-rsvp-shell.open .event-rsvp-backdrop{opacity:1}
  #app .event-rsvp-panel{position:fixed;top:0;right:0;bottom:0;width:min(365px,calc(100vw - 28px));padding:22px;background:color-mix(in srgb,var(--accent) 15%,#101e33);border-left:1px solid color-mix(in srgb,var(--accent) 55%,#a5b4c9);box-shadow:-18px 0 55px rgba(0,0,0,.35);overflow-y:auto;overscroll-behavior:contain;transform:translateX(105%);transition:transform .3s ease;cursor:default}
  #app .event-rsvp-shell.open .event-rsvp-panel{transform:translateX(0)}
  #app .event-rsvp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;color:#fff}
  #app .event-rsvp-close{width:36px;height:36px;padding:0;border:1px solid #ffffff45;background:#ffffff15;color:#fff;font-size:25px;line-height:1}
  #app .event-rsvp-panel .event-quick-responses{display:grid;gap:16px;justify-items:stretch}
  #app .event-rsvp-panel .event-quick-response{display:grid;gap:8px;width:100%;padding-bottom:16px;border-bottom:1px solid #ffffff28}
  #app .event-rsvp-panel .event-response-person{color:#fff;font-size:13px}
  #app .event-rsvp-panel .attendance-actions{display:flex;width:100%}
  #app .event-rsvp-panel .attendance-actions button{flex:1;min-height:42px}
  #app .event-rsvp-panel .attendance-actions .muted{color:#d0dbec}
  #app .player-attendance-table tr{grid-template-columns:36px minmax(0,1fr)}
  #app .player-attendance-table td:nth-child(3){grid-column:1/-1}
  #app .coach-attendance-table tr{grid-template-columns:minmax(0,1fr)}
  #app .coach-attendance-table td:nth-child(2){grid-column:1/-1}
}
@media screen and (prefers-reduced-motion:reduce){
  #app .event-rsvp-backdrop,#app .event-rsvp-panel{transition:none}
}

@media screen{
  #app .event-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:16px;margin-bottom:20px}
  #app .event-detail-sidebar{display:grid;gap:14px;min-width:0}
  #app .event-detail-main{min-width:0}
  #app .event-detail-main .event-attendees,#app .event-detail-sidebar .schedule-history{margin-top:0}
}
@media screen and (min-width:761px){
  #app .event-attendees .attendance-table td:last-child{width:47%}
}
@media screen and (max-width:1099px){
  #app .event-detail-layout{display:flex;flex-direction:column;gap:20px}
  #app .event-detail-sidebar{display:contents}
  #app .event-detail-layout>.event-detail-main{order:3;width:100%}
  #app .event-detail-sidebar>.schedule-history{order:4;width:100%}
}

.sidebar .brand{gap:7px;font-size:16px;letter-spacing:-.5px}
.sidebar .brand-name{max-width:88px;line-height:1.08}
.sidebar .brand small{margin-left:auto;font-size:8px}
