.report{max-width:820px;margin:0 auto}.report-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.print-btn{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}.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}.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-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}}: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;--muted: #6b7280;--line: #e3e6ea}*{box-sizing:border-box}body{margin:0;font-family: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-x:auto}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}.skill-col{text-align:left!important;min-width:220px}.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}.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-logo{height:64px;width:auto;margin-bottom:16px}.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}.login-btn{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-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}.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}.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}@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%}.tabs button{flex:1;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}}
