.report{max-width:820px;margin:0 auto}.report-actions .link{min-height:44px}.report-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.print-btn{min-height:44px;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:6px 16px;border-radius:8px;cursor:pointer;font:inherit}.sheet{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px}.rpt-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--brand);padding-bottom:12px;margin-bottom:14px}.logo{height:42px;width:auto;max-width:200px;object-fit:contain}.rpt-title{text-align:right}.kicker{margin:0;font-size:16px;font-weight:600;color:var(--brand)}.date{margin:2px 0 0;font-size:12px;color:var(--muted)}.summary{display:flex;align-items:center;gap:18px;margin-bottom:8px}.ring{flex-shrink:0}.summary-text{flex:1}.summary-text h2{margin:0;font-size:22px;color:var(--ink)}.summary-text .message{margin:3px 0 0;font-size:14px;color:var(--brand-dark)}.tally{display:flex;gap:8px}.tally-block{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.not-intro-line{margin:0;font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.not-intro-line strong{color:var(--ink);font-weight:700}.not-intro-line .ni-dot{width:11px;height:11px;border-radius:3px;background:var(--xcell-0);border:1px solid #D3D7DE;display:inline-block}.tally-card{background:var(--brand-tint);border-radius:9px;padding:8px 14px;text-align:center;font-size:12px;color:var(--ink);min-width:78px}.tally-card .num{display:block;font-size:22px;font-weight:700;line-height:1.1}.num.lv3{color:var(--level-3)}.num.lv2{color:var(--level-2)}.num.lv1{color:var(--level-1)}.legend-line{font-size:12px;color:var(--muted);margin:6px 0 12px}.legend-line .lv1{color:var(--level-1)}.legend-line .lv2{color:var(--level-2)}.legend-line .lv3{color:var(--level-3)}.trend-card,.trend-card-big{margin-bottom:14px}.trend-svg{display:block;margin-top:4px}.trend-guide{stroke:var(--line);stroke-width:1}.trend-axis-label{font-size:9px;fill:var(--muted);font-family:inherit}.trend-line{stroke:var(--brand);stroke-width:2.5}.trend-dot{fill:var(--brand)}.trend-line-apparatus{opacity:.85}.trend-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.trend-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;font:inherit}.trend-chip-overall{cursor:default;border-color:var(--brand);color:var(--brand-dark)}.trend-chip.active{background:#fff;font-weight:600}.trend-chip-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);flex-shrink:0}.trend-chip-overall .trend-chip-dot{background:var(--brand)}.appgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.appcard{border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}.appcard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.appcard-head h3{margin:0;font-size:15px;color:var(--ink)}.pill{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--brand-tint);color:var(--brand-dark);white-space:nowrap}.bar{height:6px;background:var(--brand-tint);border-radius:6px;overflow:hidden;margin-bottom:8px}.bar>span{display:block;height:100%;background:var(--brand);border-radius:6px}.skills{list-style:none;margin:0;padding:0}.skills li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0;font-size:12px;border-bottom:1px solid #f1f3f6}.skills li:last-child{border-bottom:none}.skills li.todo .sname{color:var(--muted)}.sname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stars{display:inline-flex;gap:1px;flex-shrink:0}.rpt-footer{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);text-align:center}.notes-card{margin-top:4px;margin-bottom:14px}.notes-record-row{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.notes-record-row select{flex:1;min-width:180px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px}.notes-list{list-style:none;margin:0;padding:0}.notes-item{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px}.notes-item:last-child{margin-bottom:0}.notes-video{width:100%;max-height:280px;border-radius:8px;background:#000;display:block}.notes-meta{margin-top:6px;font-size:12px}.notes-text{margin:6px 0 0;font-size:13px;color:var(--ink);font-style:italic}.clip-recorder{display:flex;flex-direction:column;gap:8px}.clip-video{width:100%;max-height:320px;background:#111;border-radius:10px}.clip-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.clip-timer{font-weight:700;color:#c0392b;font-size:14px}.clip-mistake{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);text-align:center}.clip-mistake button{font-size:14px;min-height:44px;padding:0 8px}.clip-mistake button:disabled{opacity:.6;cursor:default}.clip-note{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;resize:vertical}@page{size:letter portrait;margin:.35in}@media print{html{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff;margin:0}.no-print,.app-header,.app-footer{display:none!important}.container{padding:0;max-width:none}.report{max-width:none;margin:0}.sheet{border:none;border-radius:0;padding:0;box-shadow:none}.appgrid{gap:8px}.appcard{padding:6px 9px;break-inside:avoid}.skills li{padding:1px 0;font-size:10.5px}.summary{margin-bottom:6px}.summary-text h2,.tally-card .num{font-size:19px}.legend-line{margin:4px 0 8px}.rpt-header{margin-bottom:10px;padding-bottom:8px}.trend-card{break-inside:avoid}.trend-chips{display:none}.bar>span{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:var(--brand)!important}.tally-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}.trend-line{-webkit-print-color-adjust:exact;print-color-adjust:exact;stroke:var(--brand)!important}.trend-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact;fill:var(--brand)!important}.trend-line-apparatus,.trend-line-apparatus+circle{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media screen and (max-width: 640px){.report{max-width:100%}.sheet{padding:16px 14px}.report-actions{flex-wrap:wrap;gap:8px}.summary{flex-wrap:wrap;gap:12px 16px}.summary-text{flex:1 1 60%}.summary-text h2{font-size:20px}.tally-block{width:100%;align-items:stretch}.tally{width:100%}.tally-card{flex:1;min-width:0;padding:8px 6px}.not-intro-line{justify-content:center}.appgrid{grid-template-columns:1fr;gap:12px}}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format("woff2")}:root{--brand: #3D77F9;--brand-dark: #1E4FC4;--ink: #1B2A4A;--brand-tint: #E9F0FE;--brand-tint-2: #CFE0FD;--level-1: #A9C4FB;--level-2: #6E9BF7;--level-3: #3D77F9;--star-empty: #DCE3EC;--cell-1: #F0F5FF;--cell-2: #D8E5FD;--cell-3: #B6CFFB;--xcell-0: #E5E7EB;--xcell-1: #CFDDFE;--xcell-2: #9EBBFC;--xcell-3: #6E99FB;--xcell-4: #3D77F9;--xlevel-1: #A8C2FC;--xlevel-2: #85A9FB;--xlevel-3: #608FFA;--xlevel-4: #3D77F9;--product: #2db6e9;--product-bg: #0B1017;--product-card: #151B24;--product-line: #2A323D;--product-text: #F2F5F8;--product-muted: #9AA5B1;--product-field: #1E2530;--product-field-line: #646E7B;--muted: #6b7280;--line: #e3e6ea}*{box-sizing:border-box}body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#f6f8fc;line-height:1.5}.container{max-width:1100px;margin:0 auto;padding:24px}.app-header{margin-bottom:20px}.app-header h1{margin:0 0 12px;font-size:24px;color:var(--brand)}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.tabs button{border:1px solid var(--line);background:#fff;padding:6px 14px;margin-right:6px;border-radius:6px;cursor:pointer;color:var(--ink)}.tabs button.active{background:var(--brand);color:#fff;border-color:var(--brand)}select,input{font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:6px}button.link{background:none;border:none;color:var(--brand);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.grid-block{width:100%}.grid-top-scroll{overflow-x:auto;overflow-y:hidden;margin-bottom:4px}.grid-top-scroll>div{height:1px}.grid-wrapper{overflow:auto;max-height:calc(100vh - 230px);min-height:320px}table.grid{border-collapse:collapse;width:100%;background:#fff}table.grid th,table.grid td{border:1px solid var(--line);padding:4px 8px;text-align:center;white-space:nowrap}table.grid th{background:var(--brand-tint);position:sticky;top:0;z-index:3}.skill-col{text-align:left!important;min-width:220px}table.grid .skill-col{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 var(--line)}table.grid .category-row .skill-col{background:var(--brand-tint)}@media (max-width: 700px){table.grid .skill-col{min-width:124px;width:124px;max-width:124px;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.25;padding:6px}}table.grid thead .skill-col{z-index:4;background:var(--brand-tint);box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}table.grid thead th{box-shadow:0 1px 0 var(--line)}.category-row td{background:var(--brand-tint);font-weight:600;color:var(--brand-dark)}.avg-cell{font-weight:600}.avg-cell.score-1{background:var(--cell-1);color:var(--ink)}.avg-cell.score-2{background:var(--cell-2);color:var(--ink)}.avg-cell.score-3{background:var(--cell-3);color:var(--ink)}.score-cell.score-1{background:var(--cell-1)}.score-cell.score-2{background:var(--cell-2)}.score-cell.score-3{background:var(--cell-3)}select.score{width:52px;text-align:center;border:none;background:transparent;font-weight:600;color:var(--ink)}.legend,.muted{color:var(--muted);font-size:14px}.legend-swatch{display:inline-block;min-width:18px;padding:1px 5px;border-radius:4px;font-weight:600;color:var(--ink);margin:0 2px}.legend-swatch.score-1{background:var(--cell-1)}.legend-swatch.score-2{background:var(--cell-2)}.legend-swatch.score-3{background:var(--cell-3)}.avg-cell.xscore-1{background:var(--xcell-1);color:var(--ink)}.avg-cell.xscore-2{background:var(--xcell-2);color:var(--ink)}.avg-cell.xscore-3{background:var(--xcell-3);color:#fff}.avg-cell.xscore-4{background:var(--xcell-4);color:#fff}.score-cell.xscore-0{background:var(--xcell-0)}.score-cell.xscore-1{background:var(--xcell-1)}.score-cell.xscore-2{background:var(--xcell-2)}.score-cell.xscore-3{background:var(--xcell-3)}.score-cell.xscore-4{background:var(--xcell-4)}.score-cell.xscore-3 select.score,.score-cell.xscore-4 select.score{color:#fff}.legend-swatch.xscore-0{background:var(--xcell-0)}.legend-swatch.xscore-1{background:var(--xcell-1)}.legend-swatch.xscore-2{background:var(--xcell-2)}.legend-swatch.xscore-3{background:var(--xcell-3);color:#fff}.legend-swatch.xscore-4{background:var(--xcell-4);color:#fff}.error{color:#b91c1c}.message{color:var(--brand-dark)}.manage section{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:12px 0}.manage-mobile-note{display:none;background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:8px;padding:12px 16px;margin:12px 0;font-size:14px;color:var(--ink)}.add-form{display:flex;gap:8px;margin-top:8px}.add-form input{flex:1}.add-form button{padding:4px 14px;border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:6px;cursor:pointer}.chip-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0}.chip{background:var(--brand-tint);border-radius:16px;padding:4px 10px;display:flex;align-items:center;gap:6px}.chip .remove{border:none;background:none;cursor:pointer;color:var(--muted);font-size:16px;line-height:1}.parent-email{font-size:13px}.parent-missing{font-size:13px;color:#b45309;font-style:italic}.parent-btn{margin-left:4px}.add-athlete-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.add-athlete-form input{flex:1 1 180px;min-width:0;min-height:44px}.add-athlete-form button{padding:4px 14px;border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:6px;cursor:pointer;min-height:44px}.add-athlete-form button:disabled{opacity:.5;cursor:default}.parent-panel{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:8px;padding:10px 12px;margin:4px 0 8px}.parent-panel input{min-height:44px}.install-app{margin:12px 0 4px}.install-btn{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 18px;border-radius:999px;background:var(--brand-tint);border:1px solid var(--brand);color:var(--brand-dark);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.install-btn img{width:22px;height:22px;border-radius:5px;display:block}.install-btn:hover{background:var(--brand-tint-2)}.install-how{background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:8px;padding:12px 16px;margin:4px 0 12px;font-size:14px;max-width:46em}.install-how p{margin:0 0 8px}.install-how .link{min-height:44px;display:inline-flex;align-items:center}.manage-category{margin:10px 0}.manage-cat-head{display:flex;align-items:center;gap:6px}.manage-skill-list{list-style:none;margin:4px 0 6px;padding:0 0 0 14px}.manage-skill-row{display:flex;align-items:center;gap:6px;padding:2px 0}.name-btn{font-weight:500;text-align:left}.edit-inline{display:inline-flex;align-items:center;gap:6px}.edit-inline input{padding:2px 6px}.archived-block{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb}.manage-skill-row.archived{color:var(--muted);justify-content:space-between;max-width:420px}.branding-form{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.branding-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--ink)}.branding-field input[type=url]{min-width:240px}.branding-form button{padding:6px 16px;border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:6px;cursor:pointer;height:32px}.branding-form button:disabled{opacity:.6;cursor:default}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-tint)}.login-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px 40px;width:100%;max-width:380px;text-align:center;box-shadow:0 4px 24px #3d77f914}.login-brand{margin:0 0 22px;line-height:0}.login-logo{height:56px;width:auto;max-width:100%}.setup-gym-logo{height:64px;width:auto;max-width:60%;object-fit:contain;display:block;margin:0 auto 10px}.powered-by{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 0 20px;font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.powered-by img{height:15px;width:auto;opacity:.75}.tm{font-size:max(.38em,7px);font-weight:600;color:var(--product);vertical-align:super;line-height:0;margin-left:.08em}.login-card h2{margin:0 0 4px;color:var(--ink)}.login-sub{margin:0 0 20px;color:var(--muted);font-size:14px}.login-form{display:flex;flex-direction:column;gap:14px;text-align:left}.login-form label{font-size:14px;font-weight:500;display:flex;flex-direction:column;gap:4px}.login-form input{padding:8px 10px;min-height:44px}.login-btn{min-height:44px;background:var(--brand);color:#fff;border:none;padding:10px;border-radius:8px;font:inherit;font-size:15px;cursor:pointer;margin-top:4px}.login-btn:disabled{opacity:.6;cursor:default}.login-wrap.product-brand{background:var(--product-bg)}.product-brand .login-card{background:var(--product-card);border-color:var(--product-line);box-shadow:0 8px 40px #00000073}.product-brand .login-card h2{color:var(--product-text)}.product-brand .login-sub{color:var(--product-muted)}.product-brand .login-form label{color:var(--product-text)}.product-brand .login-form input{background:var(--product-field);border:1px solid var(--product-field-line);color:var(--product-text)}.product-brand .login-form input::placeholder{color:var(--product-muted)}.product-brand .login-form input:focus{outline:2px solid var(--product);outline-offset:1px;border-color:var(--product)}.product-brand .login-btn{background:var(--product);color:#0d1b2a;font-weight:600}.product-brand .login-error{color:#fca5a5}.product-brand .privacy-notice{color:var(--product-muted);border-top-color:var(--product-line)}.login-error{color:#b91c1c;font-size:13px;margin:0}.privacy-notice{margin-top:20px;font-size:11px;color:var(--muted);line-height:1.5;border-top:1px solid var(--line);padding-top:14px;text-align:left}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.header-logo{height:38px;width:auto;max-width:190px;object-fit:contain}.header-right{display:flex;align-items:center;gap:14px}.coach-welcome{font-size:14px;color:var(--muted)}.parent-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}.parent-welcome{font-size:14px;color:var(--muted)}.parent-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.link.danger{color:#b91c1c}.inline-panel{background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:8px;padding:12px 16px;margin-bottom:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:14px;padding:28px 32px;max-width:420px;width:90%;box-shadow:0 8px 32px #0000002e}.modal h3{margin:0 0 12px;color:var(--ink)}.modal p{font-size:14px;color:var(--muted)}.modal-actions{display:flex;gap:12px;margin-top:20px}.btn-danger{background:#b91c1c;color:#fff;border:none;padding:8px 18px;border-radius:8px;cursor:pointer;font:inherit}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line);padding:8px 18px;border-radius:8px;cursor:pointer;font:inherit}.app-footer{margin-top:32px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);text-align:center}@media print{.no-print{display:none!important}}.assess{max-width:720px;margin:0 auto}.assess-title{margin:4px 0 2px;color:var(--ink)}.assess-sub{margin:0 0 14px;color:var(--muted);font-size:14px}.back-link{background:none;border:none;color:var(--brand);font:inherit;font-size:15px;cursor:pointer;padding:8px 0;margin-bottom:4px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.tile{display:flex;flex-direction:column;gap:4px;background:#fff;border:2px solid var(--brand-tint-2);border-radius:14px;padding:22px 18px;cursor:pointer;text-align:left;min-height:88px;touch-action:manipulation;transition:border-color .1s,background .1s}.tile:active{background:var(--brand-tint);border-color:var(--brand)}.tile-name{font-size:18px;font-weight:600;color:var(--ink)}.tile-sub{font-size:13px;color:var(--muted)}.rate-head{margin-bottom:14px}.rate-progress{margin:0 0 6px;font-size:13px;color:var(--muted)}.rate-bar{height:6px;background:var(--brand-tint);border-radius:6px;overflow:hidden}.rate-bar>span{display:block;height:100%;background:var(--brand);border-radius:6px}.rate-skill{margin:12px 0 4px;font-size:24px;color:var(--ink)}.rate-list{display:flex;flex-direction:column;gap:10px;margin:16px 0}.rate-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.rate-name{font-size:16px;font-weight:500;color:var(--ink);flex:1}.rate-buttons{display:flex;gap:8px}.rate-btn{width:54px;height:50px;border:2px solid var(--brand-tint-2);background:#fff;border-radius:12px;font-size:20px;font-weight:600;color:var(--ink);cursor:pointer;touch-action:manipulation}.rate-btn.lv1.on{background:var(--level-1);color:var(--ink);border-color:var(--level-1)}.rate-btn.lv2.on{background:var(--level-2);color:#fff;border-color:var(--level-2)}.rate-btn.lv3.on{background:var(--level-3);color:#fff;border-color:var(--level-3)}.rate-btn.xlv0.on{background:var(--xcell-0);color:var(--ink);border-color:#c7cbd1}.rate-btn.xlv1.on{background:var(--xlevel-1);color:var(--ink);border-color:var(--xlevel-1)}.rate-btn.xlv2.on{background:var(--xlevel-2);color:var(--ink);border-color:var(--xlevel-2)}.rate-btn.xlv3.on{background:var(--xlevel-3);color:#fff;border-color:var(--xlevel-3)}.rate-btn.xlv4.on{background:var(--xlevel-4);color:#fff;border-color:var(--xlevel-4)}.rate-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.rate-nav-top{margin-top:0;margin-bottom:4px}.nav-btn{flex:1;padding:14px;border-radius:12px;font:inherit;font-size:16px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;touch-action:manipulation}.nav-btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.nav-btn:disabled{opacity:.4;cursor:default}.rate-legend{margin-top:14px;font-size:12px;color:var(--muted);text-align:center}.athlete-list{list-style:none;padding:0;margin:0 0 10px}.athlete-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.athlete-name{flex:1}.athlete-row select{min-height:38px}.empty-toggle{display:inline-block;margin:10px 0 4px;background:#fff;border:1px dashed var(--line);color:var(--muted);border-radius:999px;padding:5px 14px;font:inherit;font-size:13px;cursor:pointer}.empty-toggle:hover{border-color:var(--brand);color:var(--brand-dark)}.empty-toggle.on{border-style:solid;border-color:var(--brand);color:var(--brand-dark);background:var(--brand-tint)}.tile-empty{opacity:.55;border-style:dashed}.tile-empty:hover{opacity:.8}.chip-empty{opacity:.6;border-style:dashed}.roster-mode{display:flex;flex-direction:column;gap:8px;margin:10px 0 12px}.roster-mode-opt{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;background:#fff}.roster-mode-opt.selected{border-color:var(--brand);background:var(--brand-tint)}.roster-mode-opt input{margin-top:3px}.roster-mode-text{display:flex;flex-direction:column;gap:2px;font-size:14px}.roster-mode-text strong{color:var(--ink)}.sync-result{margin-top:14px;border:1px solid var(--brand-tint-2);border-radius:10px;background:var(--brand-tint);padding:12px 16px}.sync-result-head{display:flex;align-items:center;justify-content:space-between}.sync-result-head h4{margin:0;color:var(--ink)}.sync-tallies{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.sync-tally{font-size:13px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--brand-tint-2);border-radius:999px;padding:3px 12px}.sync-tally.added{border-color:#86c99a;color:#1f7a3d}.sync-tally.moved{border-color:var(--brand);color:var(--brand-dark)}.sync-tally.returned{border-color:#b9a0e0;color:#6b3fa0}.sync-tally.departed{border-color:#e0b78a;color:#92600f}.sync-group{margin-top:10px}.sync-group h5{margin:0 0 4px;color:var(--ink);font-size:14px}.sync-list{list-style:none;margin:0;padding:0;font-size:14px}.sync-list li{padding:2px 0}.sync-departed{margin-top:12px;border-top:1px solid var(--brand-tint-2);padding-top:10px}.sync-departed h5{margin:0 0 4px;color:var(--ink);font-size:14px}.btn-archive-all{border:1px solid #b91c1c;background:#fff;color:#b91c1c;border-radius:6px;padding:6px 14px;font:inherit;font-size:14px;cursor:pointer;margin:4px 0 8px}.btn-archive-all:hover{background:#b91c1c;color:#fff}.departed-list{list-style:none;margin:6px 0 0;padding:0}.departed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--brand-tint-2)}.departed-row:last-child{border-bottom:none}.departed-info{font-size:14px}.departed-row.archived{border-bottom-color:var(--line)}.athlete-move-row{list-style:none;padding:0;border-bottom:1px solid var(--line)}.athlete-move-panel{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:10px;padding:10px 14px;margin:4px 0 8px}.move-lead{align-self:center;font-size:14px}.move-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--ink)}.move-field select{min-height:36px;min-width:150px}.move-btn{margin-left:4px}.move-confirm{border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:6px;padding:7px 14px;font:inherit;font-size:14px;cursor:pointer;height:36px}.move-confirm:disabled{opacity:.5;cursor:default}@media (max-width: 700px){.container{padding:14px}.header-top{flex-wrap:wrap;gap:8px}.header-logo{height:32px}.controls{gap:10px}.tabs{display:flex;width:100%;flex-wrap:wrap;gap:6px 0}.tabs button{flex:1 1 auto;margin-right:6px;padding:10px 8px;min-height:44px}.tabs button:last-child{margin-right:0}.rate-skill{font-size:21px}.rate-btn{width:50px;height:48px}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.add-form{flex-wrap:wrap}.add-form input,.add-form select{flex:1 1 100%;min-width:0}.branding-form{gap:10px}.branding-field{width:100%}.branding-field input[type=url]{min-width:0;width:100%}.manage section{display:none}.manage-mobile-note{display:block}.chart-smallgrid{grid-template-columns:1fr!important;gap:12px!important}.meet-table{min-width:480px;font-size:11px!important}.meet-table th,.meet-table td{white-space:nowrap;padding:3px 6px}.pb-table{font-size:12px!important}.pb-table th,.pb-table td{padding:4px 6px}.pb-table td:last-child,.pb-table th:last-child{white-space:normal}}.guide{max-width:100%}.guide-modes{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 22px}.guide-chip{min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:left}.guide-chip:hover{color:var(--ink);border-color:var(--brand-tint-2)}.guide-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.guide-chip-sub{display:block;font-size:11.5px;font-weight:500;opacity:.8}.guide-body{max-width:100%;line-height:1.65;color:var(--ink)}.guide-body h1,.guide-body h2,.guide-body h3,.guide-body h4,.gd-step{scroll-margin-top:84px}.guide-body>p,.guide-body>ul,.guide-body>ol,.guide-body>blockquote,.guide-body>h1,.guide-body>h2,.guide-body>h3,.guide-body>h4{max-width:80ch}.guide-body h1{font-size:clamp(26px,1.4vw + 20px,33px);margin:0 0 6px;color:var(--ink)}.guide-body h2{font-size:clamp(21px,.9vw + 16.5px,26px);margin:34px 0 10px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink)}.guide-body h1+p em,.guide-body>p:first-of-type em{color:var(--muted)}.guide-body h3{font-size:clamp(17px,.5vw + 14.5px,20px);margin:24px 0 8px;color:var(--ink)}.guide-body h4{font-size:clamp(15px,.35vw + 13.3px,17px);margin:18px 0 6px;color:var(--ink)}.guide-body p,.guide-body li{font-size:clamp(15.5px,.55vw + 12.9px,18px)}.guide-body ul,.guide-body ol{padding-left:22px}.guide-body li{margin-bottom:6px}.guide-body strong{color:var(--ink)}.guide-body code{background:var(--brand-tint);color:var(--brand-dark);padding:1px 5px;border-radius:4px;font-size:.88em}.guide-body pre{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;overflow-x:auto}.guide-body pre code{background:none;color:var(--ink);padding:0}.guide-body blockquote{margin:0 0 16px;padding:12px 16px;background:var(--brand-tint);border-left:3px solid var(--brand);border-radius:8px}.guide-body blockquote p:last-child{margin-bottom:0}.guide-body table{display:block;overflow-x:auto;width:fit-content;max-width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:clamp(14.5px,.4vw + 12.6px,16.5px);margin:0 0 16px}.guide-body th{background:var(--brand-tint);text-align:left;font-weight:600;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.guide-body td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:top}.guide-body tr:last-child td{border-bottom:none}.guide-body img{display:block;max-width:100%;height:auto;margin:14px 0 6px;border:1px solid var(--line);border-radius:8px}.guide-body img+em,.guide-body p>em{color:var(--muted);font-size:clamp(13.5px,.3vw + 12px,15px)}.header-help{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 12px;border:1px solid var(--brand-tint-2);border-radius:8px;background:var(--brand-tint);color:var(--brand-dark);font-size:14px;font-weight:600;text-decoration:none}.header-help:hover{background:var(--brand-tint-2)}.header-help span{font-weight:700}.public-guide-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.public-guide-logo{height:44px;width:auto;max-width:100%;display:block}.public-guide-brand{margin:0;line-height:0}.public-guide-head p{margin:2px 0 0}.public-guide-signin{margin-left:auto;min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:8px;text-decoration:none;background:var(--brand);color:#fff;font-weight:600;font-size:15px}.parent-dot{display:inline-block;width:1.1em;margin-right:6px;font-size:13px;line-height:1}.parent-dot.is-active{color:var(--brand)}.parent-dot.is-invited{color:#c77700}.parent-dot.is-not_invited{color:var(--muted)}.parent-dot.is-no_email{color:var(--star-empty)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.signups-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.signups-head .link{min-height:44px;display:inline-flex;align-items:center;padding:0 2px}.signups-total{font-size:13px}.signups{margin-top:10px}.signups-level{margin-bottom:18px}.signups-level h4{margin:0 0 6px;font-size:15px}.signups-class{margin:0 0 10px 2px}.signups-class-head{font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:4px}.signups-list{list-style:none;margin:0;padding:0}.signups-row{display:grid;grid-template-columns:auto minmax(0,1.2fr) minmax(0,1.6fr) auto;gap:8px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--line);font-size:14px}.signups-row:last-child{border-bottom:none}.signups-athlete{font-weight:600}.signups-parent{font-size:13px;overflow-wrap:anywhere}.signups-status{font-size:12px;font-weight:600;text-align:right;white-space:nowrap}.signups-status.is-active{color:var(--brand)}.signups-status.is-invited{color:#c77700}.signups-status.is-not_invited,.signups-status.is-no_email{color:var(--muted)}@media (max-width: 700px){.signups-row{grid-template-columns:auto minmax(0,1fr) auto}.signups-parent{grid-column:2 / -1}}.heatmap-wrap{overflow-x:auto;margin:0 0 14px}.heatmap{width:auto;min-width:100%;border-collapse:collapse}.heatmap th,.heatmap td{padding:10px 14px;text-align:center;white-space:nowrap}.heatmap thead th{font-size:13px;color:var(--muted);font-weight:600}.heatmap tbody th[scope=row]{text-align:left;font-weight:600}.heatmap .heat-cell{font-variant-numeric:tabular-nums;font-weight:600;min-width:76px}.heatmap .heat-blank{color:var(--muted);font-weight:400}.heatmap .heat-count{font-size:12px;font-weight:400}.heatmap .heat-total th,.heatmap .heat-total td{border-top:2px solid var(--line);font-style:italic}.heat-note{font-size:13px;max-width:70ch}.heatmap tbody th[scope=row] .link{min-height:44px;display:inline-flex;align-items:center}.kid-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.kid-switch button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:15px;font-weight:600;cursor:pointer}.kid-switch button.on{background:var(--brand);border-color:var(--brand);color:#fff}.trend-who{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}.trend-who label{font-size:13px;color:var(--muted);font-weight:600}.trend-who select{min-height:44px;padding:6px 10px;max-width:100%}.gd-steps{display:grid;gap:16px;margin:18px 0 26px;align-items:start}@media (min-width: 1000px){.gd-steps{grid-template-columns:1fr 1fr}}.gd-step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px 18px;min-width:0;box-shadow:0 1px 2px #1b2a4a0a,0 6px 18px #1b2a4a0d}.gd-step-n{display:block;font-size:clamp(15px,.35vw + 13.3px,17px);font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums;margin-bottom:2px}.gd-step h3{margin:0 0 10px;font-size:clamp(17px,.45vw + 14.8px,19px)}.gd-step>img,.gd-step p>img{display:block;max-width:100%;width:auto;height:auto;max-height:420px;margin:0 auto 12px;border:1px solid var(--line);border-radius:8px}.gd-step>img[src*=-phone],.gd-step p>img[src*=-phone]{max-height:420px}.gd-step>img:not([src*=-phone]),.gd-step p>img:not([src*=-phone]){width:100%;max-height:300px;object-fit:contain;object-position:top}.gd-step p{margin:0 0 10px;font-size:clamp(15px,.4vw + 13.1px,17px)}.gd-step p:last-child{margin-bottom:0}.gd-step ul,.gd-step ol{margin:0 0 10px;padding-left:20px}.gd-step p>strong:only-child{color:var(--brand-dark)}.gd-step table{font-size:13.5px}.gd-ui{font-weight:600;color:var(--brand-dark);background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:5px;padding:1px 6px;white-space:nowrap;display:inline-block;max-width:100%;overflow-wrap:break-word}@media (max-width: 420px){.gd-ui{white-space:normal}}.guide-body hr{border:none;border-top:1px solid var(--line);margin:30px 0}.guide-body hr+h2{border-top:none;padding-top:0;margin-top:12px}.parent-tabs{margin:4px 0 16px}.parent-tabs button{min-height:44px;padding:8px 20px;font-size:15px;margin-right:8px}.parent-meets{max-width:100%;overflow-x:hidden}.parent-meets .card{overflow-x:auto}.report-controls select{min-height:44px;padding:6px 10px}.round-name-modal{max-width:420px;max-height:90vh;overflow-y:auto}.round-name-modal h3{margin:0 0 6px;color:var(--ink)}.round-name-input{width:100%;min-height:48px;font-size:17px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;margin-top:10px}.round-name-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:16px;position:sticky;bottom:-28px;background:#fff;border-top:1px solid var(--line);padding:12px 0}.round-name-actions .round-start{min-height:44px}.round-finish-stat{margin:10px 0 6px;font-size:18px;color:var(--ink)}.round-name-modal .round-progress-track{display:block;width:100%;margin-bottom:10px}.round-reopen{margin-left:6px}.round-scope{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:14px 0 0}.round-scope legend{font-weight:600;font-size:14px;padding:0 4px}.round-scope .muted{font-size:13px;margin:0 0 8px}.round-scope-list{display:flex;flex-wrap:wrap;gap:8px 16px}.round-scope-item{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px}.round-scope-summary{margin:8px 0 0;font-size:13px;font-weight:600;color:var(--brand-dark)}.round-scope-tag{color:var(--brand-dark);font-weight:600}.round-who{display:flex;flex-direction:column;gap:2px}.round-scope-people{flex-direction:column;flex-wrap:nowrap;gap:2px;max-height:30vh;overflow-y:auto;margin-top:4px}.score-read{display:inline-block;min-width:52px;text-align:center;font-weight:600;color:var(--ink)}.skill-jump{background:none;border:none;padding:0;font:inherit;color:var(--brand);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.skill-jump:hover{color:var(--brand-dark)}.round-correct{margin-left:6px}.round-correct.on{font-weight:700;color:var(--brand-dark)}.rate-btn:disabled{opacity:.35;cursor:default}.round-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;background:var(--brand-tint);border:1px solid var(--brand-tint-2);border-radius:8px;padding:10px 14px;margin:0 0 12px;font-size:14px}.round-status{color:var(--ink)}.round-status.muted{color:var(--muted)}.round-progress{color:var(--ink);white-space:nowrap}.round-progress-track{flex:1 1 120px;min-width:90px;height:8px;border-radius:999px;background:var(--brand-tint-2);overflow:hidden}.round-progress-fill{display:block;height:100%;background:var(--brand);border-radius:999px;transition:width .25s ease}.round-filter{display:inline-flex;align-items:center;gap:6px;color:var(--ink);cursor:pointer;white-space:nowrap}.round-start{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.round-start:disabled{opacity:.6;cursor:default}.score-cell.cell-pending{opacity:.45;box-shadow:inset 0 0 0 1px var(--line)}.score-cell.cell-pending select{border-style:dashed}@media screen and (max-width: 700px){.round-bar{font-size:13px;padding:9px 11px}.round-progress-track{flex-basis:100%;order:5}}.rate-row.row-pending{opacity:.5}.rate-row.row-pending .rate-name{font-style:italic}.rate-row.row-reviewed{opacity:1}.row-check{color:var(--brand);font-weight:700}.rate-btn.rate-clear{background:#fff;color:var(--muted);border:1px solid var(--line);font-weight:700}.rate-btn.rate-clear:hover{background:var(--bg)}.skill-reviewed{color:var(--brand);font-weight:600}.skill-pending{color:var(--muted)}.tile.tile-done{border-color:var(--brand)}.assess-notes{border:1px solid var(--line);border-radius:8px;margin:16px 0 0;background:#fff}.assess-notes-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:none;padding:12px 14px;font-size:15px;text-align:left;cursor:pointer;color:var(--ink)}.assess-notes-head:hover{background:var(--bg)}.assess-notes-meta{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.notes-count{font-size:12px;color:var(--brand);font-weight:600}.notes-caret{color:var(--muted)}.assess-notes-body{padding:0 14px 14px;display:flex;flex-direction:column;gap:12px}.note-field{display:flex;flex-direction:column;gap:4px}.note-label{font-size:13px;font-weight:600;color:var(--ink)}.note-status{font-weight:400;font-size:12px;color:var(--muted)}.note-status.saved{color:var(--brand)}.note-input{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit;font-size:14px;color:var(--ink);background:#fff}.note-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-tint-2)}.note-help{font-size:12px;margin:0}
