:root{color:#10233f;background:#f5f8fd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}*,*:before,*:after{min-width:0}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none}p,h1,h2,h3,strong,small,span,button,input,select,textarea{overflow-wrap:anywhere}.boot-screen,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(110deg,rgba(14,93,199,.12),transparent 45%),#f4f8ff}.login-panel{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:36px;background:#fff;border:1px solid #dce7f7;border-radius:8px;box-shadow:0 24px 70px #0f2d5c1f}.login-panel h1,.page-title h1{margin:0;color:#08224a;font-size:clamp(32px,5vw,56px);line-height:1}.login-copy,.page-title p{color:#5f718c;line-height:1.6}.login-form,.training-form,.editor-tools{display:grid;gap:16px}label{display:grid;gap:8px;color:#2c3e58;font-weight:700}input,select,textarea{width:100%;border:1px solid #cbd9ec;border-radius:8px;padding:12px 14px;color:#10233f;background:#fff;outline:none}textarea{resize:none}input::placeholder,textarea::placeholder{color:#9aabc2}.password-field{position:relative;display:block}.password-field input{padding-right:104px}.password-toggle{position:absolute;top:50%;right:7px;min-width:88px;height:34px;padding:0 10px;transform:translateY(-50%);border:1px solid transparent;border-radius:8px;background:#e9f2ff;color:#0f63ce;font-size:13px;font-weight:900}.password-toggle:hover{background:#dcecff}.password-toggle:focus-visible{border-color:#1769dc;outline:none;box-shadow:0 0 0 3px #1769dc1f}input:focus,select:focus,textarea:focus{border-color:#1769dc;box-shadow:0 0 0 3px #1769dc1f}.coach-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:#f5f8fd}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px;background:#fff;border-right:1px solid #dce7f7}.brand-block{display:flex;gap:12px;align-items:center;min-height:48px}.brand-block small,.sidebar-footer small,.list-row small{display:block;margin-top:3px;color:#6c7f99}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#0f63ce;color:#fff;font-weight:900}.side-nav{display:grid;gap:8px;margin-top:34px}.side-nav a{padding:12px 14px;border-radius:8px;color:#42546e;font-weight:700}.side-nav a.active,.side-nav a:hover{background:#e9f2ff;color:#0f63ce}.sidebar-footer{margin-top:auto;display:grid;gap:12px;padding-top:20px;border-top:1px solid #e5edf8}.sidebar-footer .ghost-button{border-color:#0f63ce;background:#0f63ce;color:#fff;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.sidebar-footer .ghost-button:hover{border-color:#0a55b5;background:#0a55b5;box-shadow:0 12px 24px #0f63ce3d;transform:translateY(-1px)}.sidebar-footer .ghost-button:active{transform:translateY(0)}.app-main{min-width:0}.mobile-header{display:none}.page{width:min(1240px,100%);margin:0 auto;padding:34px}.page-title{margin-bottom:26px}.eyebrow{margin:0 0 8px;color:#1769dc;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric-card,.panel,.exercise-card{background:#fff;border:1px solid #dce7f7;border-radius:8px;box-shadow:0 12px 32px #11366812}.metric-card{padding:22px}.metric-card strong{display:block;color:#0f63ce;font-size:40px;line-height:1}.metric-card span{display:block;margin-top:8px;color:#5f718c}.content-grid,.editor-grid{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);gap:18px;align-items:start}.training-create-layout{display:grid;grid-template-columns:minmax(0,920px)}.editor-grid{grid-template-columns:340px minmax(0,1fr);margin-bottom:18px}.exercise-editor-grid{grid-template-columns:360px minmax(0,1fr);gap:20px;margin-bottom:22px}.exercise-workspace{display:grid;gap:18px}.panel{padding:20px}.panel h2,.panel h3{margin:0;color:#10233f}.panel-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head>*{min-width:0}.stack-list,.item-list{display:grid;gap:10px}.list-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px;border:1px solid #e3ebf7;border-radius:8px;background:#fbfdff}.athlete-list-row{align-items:flex-start}.athlete-list-row>div{min-width:0}.athletes-page-grid{align-items:start}.athletes-list-panel{display:flex;max-height:650px;min-height:520px;flex-direction:column}.athletes-list-head{flex:0 0 auto}.athletes-list-head small{display:block;margin-top:3px;color:#6c7f99}.search-field{flex:0 0 auto;margin-bottom:14px}.athletes-scroll-list{min-height:0;overflow-y:auto;padding-right:4px}.group-detail-grid{align-items:start}.group-detail-card{height:560px}.group-members-panel{max-height:none}.group-members-scroll{flex:1 1 auto;align-content:start;grid-auto-rows:max-content}.inline-pill-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pill{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#e9f2ff;color:#0f63ce;font-size:13px;font-weight:800}.status-in_progress{background:#fff5db;color:#8a5b00}.status-completed{background:#e6f7ef;color:#126339}.status-cancelled{background:#ffe9eb;color:#9e1d2c}.empty-state{margin:0;padding:18px;border:1px dashed #cbd9ec;border-radius:8px;color:#6c7f99;text-align:center}.alert{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 14px;border-radius:8px;font-weight:700}.alert.error{background:#ffe9eb;color:#9e1d2c}.alert.success{background:#e6f7ef;color:#126339}.alert button{border:0;background:transparent;color:inherit;font-weight:900}.primary-button,.ghost-button,.danger-button,.icon-button,.segmented button{min-height:42px;border:0;border-radius:8px;padding:10px 14px;font-weight:800}.primary-button{background:#0f63ce;color:#fff}.primary-button:hover{background:#0b56b8}.ghost-button{border:1px solid #cbd9ec;background:#fff;color:#0f63ce}.ghost-button.compact,.icon-button{min-height:34px;padding:6px 10px}.danger-button,.icon-button.danger{background:#ffe9eb;color:#9e1d2c}.danger-zone{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:18px;border-color:#ffd0d6;background:#fff7f8}.danger-zone p{margin:8px 0 0;color:#6c7f99;line-height:1.5}.form-actions,.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tool-section{display:grid;gap:10px;padding-top:4px}.exercise-tools-panel{order:1;display:grid;gap:14px}.list-row>div:first-child{min-width:0}.exercise-tools-grid{display:grid;grid-template-columns:minmax(260px,1.1fr) repeat(2,minmax(190px,.75fr));gap:14px;align-items:start}.exercise-main-fields{grid-row:span 2}.exercise-tool-section{gap:12px;height:100%;padding:14px;border:1px solid #e5edf8;border-radius:8px;background:#fbfdff}.lines-tool-section{align-content:start}.exercise-tool-section h3{font-size:15px}.exercise-editor-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.panel-head .exercise-editor-actions{margin-left:auto}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.segmented.wide{margin-bottom:6px}.segmented button{display:inline-flex;gap:8px;align-items:center;justify-content:center;height:38px;min-height:38px;padding:8px 14px;border:1px solid #cbd9ec;background:#fff;color:#2c3e58;white-space:nowrap}.segmented button.active,.segmented button:hover{border-color:#0f63ce;background:#e9f2ff;color:#0f63ce}.guide-toggle{min-height:38px;border:1px solid #cbd9ec;border-radius:8px;background:#fff;color:#42546e;font-weight:800}.guide-toggle.active{border-color:#0f63ce;background:#e9f2ff;color:#0f63ce}.ball-dot{display:inline-block;flex:0 0 auto;width:14px;height:14px;border-radius:50%}.ball-dot.solid,.ball.solid,.ghost-ball.solid,.preview-ball.solid{background:#fff;border:2px solid #0f63ce}.ball-dot.dashed,.ball.dashed,.ghost-ball.dashed,.preview-ball.dashed{background:transparent;border:0}.ball.dashed:before,.ghost-ball.dashed:before,.preview-ball.dashed:before{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#ffffff 0deg 36deg,transparent 36deg 72deg);content:"";pointer-events:none;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - max(2px,12%)),#000 calc(100% - max(2px,12%)));mask:radial-gradient(farthest-side,transparent calc(100% - max(2px,12%)),#000 calc(100% - max(2px,12%)))}.ball-dot.dashed{background:#0f63ce;border:2px dashed #ffffff;box-shadow:inset 0 0 0 3px #fff}.power-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:8px}.power-grid button{min-height:40px;border:1px solid transparent;border-radius:8px;background:#eef7ff;color:#10233f;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff5c}.power-grid button:nth-child(1){background:#dff3ff;color:#075c7c}.power-grid button:nth-child(2){background:#dff7f0;color:#11624a}.power-grid button:nth-child(3){background:#e7f8d9;color:#426b13}.power-grid button:nth-child(4){background:#fff5c7;color:#775e00}.power-grid button:nth-child(5){background:#ffe5bf;color:#8a4f00}.power-grid button:nth-child(6){background:#ffd1bf;color:#9b3414}.power-grid button:nth-child(7){background:#ffc3cb;color:#8f1524}.power-grid button.selected{border-color:#08224a2e;color:#fff;box-shadow:inset 0 0 0 1px #ffffff6b,0 10px 18px #08224a1f}.power-grid button:nth-child(1).selected{background:#0f7fb0}.power-grid button:nth-child(2).selected{background:#15906d}.power-grid button:nth-child(3).selected{background:#76a82a}.power-grid button:nth-child(4).selected{background:#d2a900}.power-grid button:nth-child(5).selected{background:#d97800}.power-grid button:nth-child(6).selected{background:#d85524}.power-grid button:nth-child(7).selected{background:#c92a3f}.spin-wrap{display:flex;gap:10px;align-items:center}.spin-picker{position:relative;width:96px;height:96px;border:2px solid #0f63ce;border-radius:50%;background:#fff}.spin-axis{position:absolute;background:#cbd9ec}.spin-axis.x{left:12%;right:12%;top:50%;height:1px}.spin-axis.y{top:12%;bottom:12%;left:50%;width:1px}.spin-point{position:absolute;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;background:#0f63ce;box-shadow:0 0 0 4px #0f63ce29}.table-panel{overflow:hidden}.exercise-table-panel{order:2;display:flex;min-width:0;flex-direction:column}.exercise-table-head{flex:0 0 auto}.exercise-table-head .inline-pill-list{margin-top:0}.table-stage{overflow-x:auto;padding:48px 52px;border-radius:8px;background:linear-gradient(180deg,#f7fbff,#eaf3ff)}.billiard-table{position:relative;width:min(100%,1120px);aspect-ratio:3550 / 1775;min-width:640px;margin:0 auto;overflow:visible;border:0;border-radius:2px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.22) 0 3px,transparent 4px),linear-gradient(90deg,transparent 24.5%,rgba(255,255,255,.2) 24.7%,rgba(255,255,255,.2) 25%,transparent 25.2%),linear-gradient(135deg,rgba(255,255,255,.16) 0%,transparent 34%),linear-gradient(180deg,rgba(255,255,255,.14),transparent 36%,rgba(15,90,108,.1)),linear-gradient(90deg,rgba(255,255,255,.08),transparent 12%,transparent 88%,rgba(7,61,72,.11)),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px),#2aa7bd;box-shadow:inset 0 0 30px #09546733,0 16px 34px #08224a24;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none}.billiard-table:before{position:absolute;inset:-34px;z-index:-2;border-radius:22px;background:radial-gradient(circle at 0 0,#050914 0 38px,#f3fbff 39px 43px,transparent 44px),radial-gradient(circle at 50% 0,#050914 0 31px,#f3fbff 32px 36px,transparent 37px),radial-gradient(circle at 100% 0,#050914 0 38px,#f3fbff 39px 43px,transparent 44px),radial-gradient(circle at 0 100%,#050914 0 38px,#f3fbff 39px 43px,transparent 44px),radial-gradient(circle at 50% 100%,#050914 0 31px,#f3fbff 32px 36px,transparent 37px),radial-gradient(circle at 100% 100%,#050914 0 38px,#f3fbff 39px 43px,transparent 44px),linear-gradient(145deg,rgba(255,255,255,.18),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.2),transparent 46%,rgba(3,37,67,.28)),linear-gradient(90deg,#073d71,#0f78b4 18%,#1684bf,#0f78b4 82%,#073d71);box-shadow:inset 0 0 0 6px #f3fbff,inset 0 0 0 15px #042648a3,inset 0 18px 26px #ffffff26,inset 0 -14px 24px #03192f38,0 10px 22px #08224a21;content:"";pointer-events:none}.billiard-table:after{position:absolute;inset:0;z-index:1;background:linear-gradient(#f3fbff,#f3fbff) left 5.5% top 0 / 41.5% 3px no-repeat,linear-gradient(#f3fbff,#f3fbff) right 5.5% top 0 / 41.5% 3px no-repeat,linear-gradient(#f3fbff,#f3fbff) left 5.5% bottom 0 / 41.5% 3px no-repeat,linear-gradient(#f3fbff,#f3fbff) right 5.5% bottom 0 / 41.5% 3px no-repeat,linear-gradient(#f3fbff,#f3fbff) left center / 3px 84% no-repeat,linear-gradient(#f3fbff,#f3fbff) right center / 3px 84% no-repeat;content:"";pointer-events:none}.billiard-table.drawing{cursor:crosshair}.table-markup{position:absolute;inset:0;z-index:1;color:#ecf0f194;pointer-events:none}.table-markup-line{position:absolute;display:block;background:currentColor;box-shadow:0 0 0 1px #073d480a}.table-markup-line.vertical{top:6%;bottom:6%;width:1px}.table-markup-line.vertical.q1{left:25%}.table-markup-line.vertical.mid{left:50%}.table-markup-line.vertical.q3{left:75%}.table-markup-line.horizontal{top:50%;height:1px}.table-markup-line.horizontal.left{left:0;width:25%}.table-markup-line.horizontal.right{right:0;width:25%}.table-lines{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.table-lines line,.exercise-preview line{stroke:#fff;stroke-linecap:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));pointer-events:auto;touch-action:none}.table-lines line{stroke-width:4}.table-lines line.dashed,.exercise-preview line.dashed{stroke-dasharray:12 10}.table-lines line.selected{stroke:#b8e8ff}.arrow-head{fill:#fff;stroke:none}.table-lines line.selected+.arrow-head,.arrow-head.selected{fill:#b8e8ff}.ball,.ghost-ball{position:absolute;z-index:3;width:1.9155%;height:auto;aspect-ratio:1;min-width:10px;padding:0;border:0;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 4px 10px #00000047;touch-action:none}.ghost-ball{z-index:2;opacity:.28;pointer-events:none;box-shadow:none}.ball.selected{box-shadow:0 4px 10px #00000047}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.exercise-card{overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.exercise-card:hover{border-color:#b8d1f3;box-shadow:0 16px 36px #1136681c;transform:translateY(-2px)}.exercise-card>div:last-child{padding:14px}.exercise-card-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.exercise-card h3{margin:0;line-height:1.25}.exercise-card p{margin:0;color:#6c7f99;line-height:1.5}.exercise-preview{position:relative;aspect-ratio:3618 / 1843;overflow:hidden;border-bottom:1px solid #dce7f7;padding:34px;background:linear-gradient(180deg,#f7fbff,#eaf3ff)}.exercise-preview.full{aspect-ratio:auto;overflow-x:auto;padding:48px 52px;border-bottom:0;border-radius:8px}.exercise-preview-table{width:100%;min-width:0}.exercise-preview.full .exercise-preview-table{width:min(100%,1120px)}.exercise-preview-table.readonly .table-lines line,.exercise-preview-table.readonly .ball{pointer-events:none}.exercise-library-panel{margin-top:4px}.exercise-library-head small{display:block;margin-top:3px;color:#6c7f99}.library-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.library-content{min-width:0}.library-content{display:grid;gap:18px}.library-rename-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr) max-content;gap:12px;align-items:end}.library-window{min-height:420px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.library-page.can-drop-desktop{background:linear-gradient(135deg,rgba(233,242,255,.62),transparent 40%),transparent}.library-head-actions{display:flex;gap:10px;justify-content:flex-end}.library-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.library-breadcrumbs button{border:1px solid #d4e3f6;border-radius:8px;padding:8px 10px;background:#f7fbff;color:#32608f;font-weight:800}.library-breadcrumbs button:hover{border-color:#9ec4f5;color:#0f63ce}.library-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:18px}.library-folder-card{min-height:150px;display:grid;align-content:start;justify-items:center;gap:12px;padding:22px 14px 16px;border:1px solid #cfe3fb;border-radius:8px;background:#fff;color:#0e2f5f;text-align:center;box-shadow:0 12px 28px #1769dc14;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.library-folder-card:hover{border-color:#82b9f5;box-shadow:0 18px 38px #1769dc24;transform:translateY(-2px)}.library-folder-card.drop-target{border-color:#0f63ce;background:#edf6ff;box-shadow:0 18px 38px #1769dc24,0 0 0 3px #1769dc24}.library-folder-card>span:last-of-type{font-weight:900}.folder-illustration{position:relative;width:min(100%,170px);aspect-ratio:1.55 / 1;margin-top:8px;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.42),transparent 34%),linear-gradient(135deg,#aee3ff,#70c8fb,#41a8ef);box-shadow:inset 0 -12px 16px #0f69b924,inset 0 2px 2px #ffffff8c,0 10px 18px #10559f2e}.folder-illustration:before{position:absolute;left:0;top:-14%;width:42%;height:28%;border-radius:8px 8px 0 0;background:#a7ddff;content:""}.folder-illustration:after{position:absolute;inset:16% 0 0;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.24),transparent 42%),#63c2fa57;content:""}.library-exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.library-exercise-card{background:#fff;cursor:pointer}.library-exercise-card .exercise-preview{padding:22px}.preview-arrow-head{fill:#fff}.library-exercise-card p{display:-webkit-box;min-height:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.library-create-modal{display:grid;gap:16px}.exercise-detail-modal{width:min(760px,100%);display:grid;gap:16px}.exercise-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.exercise-detail-preview-panel .exercise-preview{border:1px solid #dce7f7;border-radius:8px}.exercise-detail-head{margin-bottom:16px;gap:10px}.exercise-detail-head .ghost-button{margin-left:auto}.exercise-detail-info-panel{display:grid;gap:16px}.exercise-detail-info-panel h2,.exercise-detail-info-panel p{margin:0}.exercise-detail-info-panel p{color:#5f718c;line-height:1.6}.exercise-detail-control{display:grid;gap:10px}.exercise-detail-control h3{margin:0}.power-grid.readonly button{opacity:.34}.power-grid.readonly button.selected{opacity:1}.spin-picker.readonly{cursor:default;opacity:1}.modal-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.modal-head h2{margin:0}.exercise-detail-modal .exercise-preview{border:1px solid #dce7f7;border-radius:8px}.exercise-detail-modal p{margin:0;color:#5f718c;line-height:1.6}.exercise-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exercise-detail-grid div{display:grid;gap:4px;padding:12px;border:1px solid #dce7f7;border-radius:8px;background:#f7fbff}.exercise-detail-grid span{color:#6c7f99;font-size:13px;font-weight:800}.exercise-detail-grid strong{color:#08224a}.training-item-editor{display:grid;grid-template-columns:28px minmax(0,1fr) 92px 38px;gap:8px;align-items:center}.training-item-editor span{display:grid;place-items:center;height:38px;border-radius:8px;background:#e9f2ff;color:#0f63ce;font-weight:900}.training-item-editor-head{margin-bottom:-2px;color:#6c7f99;font-size:13px;font-weight:900}.training-item-editor-head span{height:auto;background:transparent;color:#6c7f99}.training-item-editor-head strong{min-height:20px}.athlete-shell{min-height:100vh;background:#f5f8fd}.athlete-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;background:#fff;border-bottom:1px solid #dce7f7}.athlete-topbar small{display:block;margin-top:3px;color:#6c7f99}.athlete-topbar .ghost-button{border-color:#0f63ce;background:#0f63ce;color:#fff;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.athlete-topbar .ghost-button:hover{border-color:#0a55b5;background:#0a55b5;box-shadow:0 12px 24px #0f63ce3d;transform:translateY(-1px)}.athlete-training-panel,.athlete-result-panel{display:grid;gap:16px}.athlete-training-panel .panel-head small,.athlete-exercise-row small,.athlete-training-card small,.athlete-result-row small{display:block;margin-top:3px;color:#6c7f99}.athlete-training-list,.athlete-exercise-list,.athlete-results-list{display:grid;gap:12px}.athlete-training-card,.athlete-exercise-row,.athlete-result-row{display:grid;gap:14px;align-items:center;padding:14px;border:1px solid #cfe3fb;border-left:4px solid #0f63ce;border-radius:8px;background:linear-gradient(90deg,rgba(233,242,255,.9),transparent 42%),#fff;box-shadow:0 10px 24px #11366812}.athlete-training-card{grid-template-columns:minmax(0,1fr) auto auto}.athlete-exercise-row{grid-template-columns:minmax(0,1fr) auto}.athlete-workout-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.athlete-result-panel{position:static}.athlete-attempts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.athlete-attempts div,.athlete-result-row>div:not(:first-child){display:grid;gap:4px;padding:12px;border:1px solid #d7e8fb;border-radius:8px;background:linear-gradient(180deg,#fff,#eef6ff)}.athlete-result-row>div:first-child strong{color:#0b3d82;font-size:17px}.athlete-attempts span,.athlete-result-row span{color:#6c7f99;font-size:13px;font-weight:900}.athlete-attempts strong{color:#0f63ce;font-size:30px;line-height:1}.athlete-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.athlete-action-grid:last-child{grid-template-columns:1fr}.athlete-result-row{width:100%;font:inherit;text-align:left;grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(100px,.6fr))}.athlete-result-row:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 14px 30px #1136681c}.athlete-result-row:disabled{cursor:default;opacity:1}.athlete-result-row.result-tone-good{border-color:#bce8cf;border-left-color:#1f9d55;background:linear-gradient(90deg,rgba(230,247,239,.95),transparent 42%),#fff}.athlete-result-row.result-tone-good>div:first-child strong,.athlete-result-row.result-tone-good>div:not(:first-child) strong{color:#126339}.athlete-result-row.result-tone-good>div:not(:first-child){border-color:#ccefdc;background:linear-gradient(180deg,#fff,#effaf4)}.athlete-result-row.result-tone-middle{border-color:#ffe0b3;border-left-color:#e08a16;background:linear-gradient(90deg,rgba(255,245,219,.98),transparent 42%),#fff}.athlete-result-row.result-tone-middle>div:first-child strong,.athlete-result-row.result-tone-middle>div:not(:first-child) strong{color:#8a5b00}.athlete-result-row.result-tone-middle>div:not(:first-child){border-color:#ffe5bd;background:linear-gradient(180deg,#fff,#fff8e8)}.athlete-result-row.result-tone-low{border-color:#ffd0d6;border-left-color:#d43d4f;background:linear-gradient(90deg,rgba(255,233,235,.98),transparent 42%),#fff}.athlete-result-row.result-tone-low>div:first-child strong,.athlete-result-row.result-tone-low>div:not(:first-child) strong{color:#9e1d2c}.athlete-result-row.result-tone-low>div:not(:first-child){border-color:#ffd7dc;background:linear-gradient(180deg,#fff,#fff1f3)}.athlete-result-row>div:not(:first-child) strong{color:#0f63ce;font-size:22px;line-height:1.1}.status-not_started{background:#edf2f8;color:#52657e}.status-skipped{background:#fff0df;color:#8a4f00}.checkbox-list{display:grid;gap:8px}.group-athletes-scroll{max-height:270px;overflow-y:auto;padding-right:4px}.checkbox-row{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e3ebf7;border-radius:8px;background:#fbfdff;font-weight:400}.checkbox-row input{width:18px;height:18px;flex:0 0 auto}.checkbox-row small{display:block;margin-top:2px;color:#6c7f99}.group-row{align-items:flex-start}.group-actions{display:flex;flex:0 0 auto;gap:8px;align-items:center}.group-actions button,.group-actions .pill{white-space:nowrap}.group-assignments{display:grid;gap:12px}.athlete-assignment-card{display:grid;gap:12px;padding:14px;border:1px solid #e3ebf7;border-radius:8px;background:#fbfdff}.athlete-assignment-card .panel-head{margin-bottom:0}.athlete-assignment-card small{display:block;margin-top:3px;color:#6c7f99}.training-form-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding-bottom:2px}.training-form-head small{display:block;margin-top:5px;color:#6c7f99}.calendar-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr);gap:18px;align-items:start;margin-bottom:18px}.day-panel{display:flex;min-height:0;flex-direction:column}.day-training-list{min-height:0;overflow-y:auto;padding-right:4px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.calendar-head h2{margin:0;text-transform:capitalize}.calendar-head small{display:block;margin-top:3px;color:#6c7f99;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{color:#6c7f99;font-size:13px;font-weight:900;text-align:center}.calendar-day{position:relative;aspect-ratio:1;min-height:46px;border:1px solid #dce7f7;border-radius:8px;background:#fff;color:#10233f;font-weight:900}.calendar-day.muted{color:#9dafc5;background:#f7faff}.calendar-day.past{opacity:.62}.calendar-day.selected{border-color:#0f63ce;background:#e9f2ff;color:#0f63ce}.calendar-day i{position:absolute;left:50%;bottom:8px;width:7px;height:7px;transform:translate(-50%);border-radius:50%;background:#0f63ce}.calendar-training-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #e3ebf7;border-radius:8px;background:#fbfdff}.calendar-training-row small{display:block;margin-top:3px;color:#6c7f99}.calendar-row-actions{display:grid;gap:8px;justify-items:end}.compact-button{min-height:36px;padding:8px 12px}.calendar-action-size{width:max-content;min-width:138px;min-height:36px;display:grid;place-items:center;text-align:center;white-space:nowrap}.create-training-calendar-button{min-width:180px}.muted-text{display:block;margin-top:4px;color:#6c7f99;font-size:13px}.training-details-panel{margin-top:18px}.details-stack{display:grid;gap:14px}.training-details-header,.athlete-details-card{padding:14px;border:1px solid #e3ebf7;border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff)}.training-details-header{display:flex;gap:12px;align-items:center;justify-content:space-between}.training-details-header small,.athlete-details-card small{display:block;margin-top:3px;color:#6c7f99}.status-control{min-width:210px;gap:7px;color:#6c7f99;font-size:13px;font-weight:900}.status-select-wrap{position:relative}.status-select-wrap:after{position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid #0f63ce;border-bottom:2px solid #0f63ce;content:"";pointer-events:none;transform:translateY(-65%) rotate(45deg)}.status-control select{min-height:46px;appearance:none;padding:11px 42px 11px 14px;border-color:#b8d1f3;background:linear-gradient(180deg,#fff,#f4f8ff);color:#10233f;font-size:15px;font-weight:800;box-shadow:0 8px 20px #0f63ce14}.status-control select:disabled{background:#f5f8fd;box-shadow:none}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#08224a61}.confirm-modal{width:min(440px,100%);padding:22px;border:1px solid #dce7f7;border-radius:8px;background:#fff;box-shadow:0 28px 80px #08224a3d}.confirm-modal h2{margin:0;color:#08224a;font-size:24px}.confirm-modal p{margin:12px 0 0;color:#5f718c;line-height:1.6}.modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.athlete-details-card h3{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #e5edf8;color:#08224a}.details-table{display:grid;gap:10px}.details-table-head,.details-table-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(80px,.5fr) minmax(80px,.5fr) minmax(110px,.7fr);gap:10px;align-items:center}.details-table-head{padding:0 12px;color:#6c7f99;font-size:13px;font-weight:900}.details-table-row{position:relative;padding:12px;border:1px solid #e3ebf7;border-left:4px solid #0f63ce;border-radius:8px;background:linear-gradient(90deg,rgba(233,242,255,.82),transparent 38%),#fff;box-shadow:0 8px 18px #1136680d}.details-table-row>span:first-child{color:#0b3d82;font-weight:800}.details-table-row>span:nth-child(2),.details-table-row>span:nth-child(3){width:max-content;max-width:100%;padding:6px 10px;border-radius:8px;background:#e9f2ff;color:#0f63ce;font-weight:900}.item-status-pill{width:max-content;max-width:100%;display:inline-grid;place-items:center;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:900;line-height:1;white-space:nowrap}.item-status-not_started{background:#edf2f8;color:#52657e}.item-status-in_progress{background:#fff5db;color:#8a5b00}.item-status-completed{background:#e6f7ef;color:#126339}.item-status-skipped{background:#fff0df;color:#8a4f00}@media(max-width:980px){.calendar-layout{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head{align-items:flex-start;flex-wrap:wrap}.panel-head .exercise-editor-actions{width:100%;margin-left:0;justify-content:flex-start}.athlete-topbar{padding-inline:16px}}@media(max-width:1100px){.calendar-layout,.library-layout,.exercise-detail-layout,.athlete-workout-layout,.exercise-tools-grid{grid-template-columns:1fr}.athlete-result-panel{position:static}.day-panel{max-height:none!important}.panel-head .exercise-editor-actions{width:100%;margin-left:0;justify-content:flex-start}.exercise-main-fields{grid-row:auto}.exercise-tool-section{height:auto}.billiard-table{min-width:560px}}@media(max-width:680px){.library-rename-panel,.exercise-detail-grid,.calendar-training-row,.athlete-training-card,.athlete-result-row,.training-details-header,.details-table-head,.details-table-row{grid-template-columns:1fr}.training-details-header{align-items:stretch}.status-control{min-width:0}.modal-actions{grid-template-columns:1fr}.danger-zone{align-items:flex-start;flex-direction:column}.calendar-row-actions{justify-items:stretch}.athlete-action-grid,.athlete-attempts{grid-template-columns:1fr}.calendar-action-size,.create-training-calendar-button{width:100%;min-width:0}.calendar-grid{gap:5px}.calendar-weekday{font-size:11px}.calendar-day{min-height:38px;border-radius:6px;font-size:13px}.exercise-table-panel{overflow:visible}.table-stage{overflow:visible;padding:26px 16px 30px;border-radius:8px}.billiard-table{width:min(100%,560px);min-width:0;box-shadow:inset 0 0 18px #0954672e,0 10px 22px #08224a1f}.billiard-table:before{inset:-18px;border-radius:14px;background:radial-gradient(circle at 0 0,#050914 0 22px,#f3fbff 23px 26px,transparent 27px),radial-gradient(circle at 50% 0,#050914 0 18px,#f3fbff 19px 22px,transparent 23px),radial-gradient(circle at 100% 0,#050914 0 22px,#f3fbff 23px 26px,transparent 27px),radial-gradient(circle at 0 100%,#050914 0 22px,#f3fbff 23px 26px,transparent 27px),radial-gradient(circle at 50% 100%,#050914 0 18px,#f3fbff 19px 22px,transparent 23px),radial-gradient(circle at 100% 100%,#050914 0 22px,#f3fbff 23px 26px,transparent 27px),linear-gradient(145deg,rgba(255,255,255,.18),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.2),transparent 46%,rgba(3,37,67,.28)),linear-gradient(90deg,#073d71,#0f78b4 18%,#1684bf,#0f78b4 82%,#073d71);box-shadow:inset 0 0 0 4px #f3fbff,inset 0 0 0 9px #042648a3,inset 0 10px 16px #ffffff26,inset 0 -10px 16px #03192f38,0 8px 16px #08224a1f}.billiard-table:after{background:linear-gradient(#f3fbff,#f3fbff) left 6% top 0 / 40.5% 2px no-repeat,linear-gradient(#f3fbff,#f3fbff) right 6% top 0 / 40.5% 2px no-repeat,linear-gradient(#f3fbff,#f3fbff) left 6% bottom 0 / 40.5% 2px no-repeat,linear-gradient(#f3fbff,#f3fbff) right 6% bottom 0 / 40.5% 2px no-repeat,linear-gradient(#f3fbff,#f3fbff) left center / 2px 82% no-repeat,linear-gradient(#f3fbff,#f3fbff) right center / 2px 82% no-repeat}.ball,.ghost-ball{min-width:7px}.exercise-preview.full{overflow:visible;padding:26px 16px 30px}}@media(max-width:980px){.coach-shell{grid-template-columns:1fr}.app-sidebar{position:fixed;z-index:20;inset:58px auto 0 0;width:min(300px,86vw);transform:translate(-105%);transition:transform .2s ease}.app-sidebar.open{transform:translate(0)}.mobile-header{position:sticky;z-index:10;top:0;display:flex;gap:12px;align-items:center;height:58px;padding:0 16px;background:#fff;border-bottom:1px solid #dce7f7}.mobile-header .icon-button{flex:0 0 38px;width:38px;height:38px;min-height:38px;padding:0}.page{padding:22px 16px}.content-grid,.editor-grid,.exercise-tools-grid,.training-create-layout,.login-panel{grid-template-columns:1fr}.exercise-main-fields{grid-row:auto}.athletes-list-panel{max-height:none;min-height:0}.group-detail-card{height:auto}}@media(max-width:680px){.metric-grid,.form-actions,.form-row{grid-template-columns:1fr}.page-title h1,.login-panel h1{font-size:34px}.login-page{padding:14px}.login-panel,.panel{padding:16px}.login-panel{gap:18px}.list-row{align-items:flex-start;flex-direction:column;gap:12px}.group-actions{width:100%;align-items:stretch;flex-direction:column}.group-actions button,.group-actions .pill{width:100%;white-space:normal}.training-form-head{flex-direction:column}.training-item-editor{grid-template-columns:28px minmax(0,1fr)}.training-item-editor-head{display:none}.training-item-editor input,.training-item-editor .icon-button{grid-column:2}.billiard-table{min-width:0}.exercise-editor-actions{display:grid;grid-template-columns:1fr}.segmented,.power-grid{grid-template-columns:1fr}.spin-wrap,.athlete-topbar{align-items:flex-start;flex-direction:column}.athlete-topbar .ghost-button{width:100%}}@media(max-width:520px){.page{padding:16px 10px}.mobile-header{padding:0 10px}.metric-grid,.exercise-grid{grid-template-columns:1fr}.panel-head,.calendar-head,.training-details-header{align-items:stretch;flex-direction:column}.form-actions,.modal-actions,.exercise-editor-actions{grid-template-columns:1fr}.primary-button,.ghost-button,.danger-button,.compact-button,.icon-button,.guide-toggle,.segmented button{width:100%}.mobile-header .icon-button{width:38px}.table-stage,.exercise-preview.full{padding:22px 12px 26px}.billiard-table{min-width:0}.details-table{overflow-x:auto}.details-table-head,.details-table-row{min-width:0}}@media(max-width:390px){body{min-width:0}.page{padding-inline:8px}.panel,.login-panel,.confirm-modal{padding:14px}.calendar-grid{gap:3px}.calendar-day{min-height:34px;font-size:12px}.table-stage,.exercise-preview.full{padding:20px 10px 24px}.billiard-table{min-width:0}}.athlete-details-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e5edf8}.athlete-details-head h3{margin:0 0 8px;padding-bottom:0;border-bottom:0}.attendance-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.attendance-pill{width:max-content;display:inline-grid;place-items:center;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:900;white-space:nowrap}.attendance-unknown{background:#edf2f8;color:#52657e}.attendance-present{border-color:#bce8cf;background:#e6f7ef;color:#126339}.attendance-absent{border-color:#ffd0d6;background:#ffe9eb;color:#9e1d2c}.attendance-card.attendance-present{border-left:4px solid #1f9d55}.attendance-card.attendance-absent{border-left:4px solid #d43d4f}.analytics-page,.analytics-filters-panel,.analytics-section{display:grid;gap:18px}.analytics-section{margin-top:8px}.analytics-section-head{margin-bottom:0}.analytics-filters-grid{display:grid;grid-template-columns:minmax(220px,1fr) repeat(5,minmax(150px,1fr));gap:12px;align-items:end}.analytics-periods{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-metric{border-left:4px solid #0f63ce}.analytics-metric-success{border-left-color:#1f9d55}.analytics-metric-success strong{color:#126339}.analytics-metric-danger{border-left-color:#d43d4f}.analytics-metric-danger strong{color:#9e1d2c}.analytics-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.analytics-two-columns .panel,.analytics-table-panel{display:grid;gap:14px}.analytics-bars{display:grid;gap:10px}.analytics-bar-row,.analytics-volume-row{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(140px,1.2fr) max-content;gap:10px;align-items:center}.analytics-volume-row{grid-template-columns:minmax(100px,.8fr) minmax(120px,1fr) minmax(120px,1fr) max-content}.analytics-bar-row span,.analytics-volume-row span{color:#5f718c;font-size:13px;font-weight:800}.analytics-bar-row div,.analytics-volume-row div{height:12px;overflow:hidden;border-radius:999px;background:#e9f2ff}.analytics-bar-row i,.analytics-volume-row i{display:block;height:100%;border-radius:inherit;background:#0f63ce}.analytics-volume-row div:nth-of-type(2) i{background:#1f9d55}.analytics-bar-row strong,.analytics-volume-row strong{color:#0b3d82;font-size:13px}.analytics-risk-row{border-left:4px solid #d43d4f}.analytics-table-wrap{overflow-x:auto}.analytics-table{width:100%;min-width:720px;border-collapse:collapse}.analytics-table th,.analytics-table td{padding:11px 12px;border-bottom:1px solid #e5edf8;text-align:left;vertical-align:top}.analytics-table th{color:#6c7f99;font-size:13px;font-weight:900}.analytics-table td{color:#10233f;font-weight:700}.progress-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.progress-card{display:grid;gap:6px;padding:14px;border:1px solid #dce7f7;border-left:4px solid #0f63ce;border-radius:8px;background:#fbfdff}.progress-card small{color:#6c7f99}.progress-card span{color:#0f63ce;font-size:24px;font-weight:900}.progress-card.trend-growth{border-left-color:#1f9d55}.progress-card.trend-growth span{color:#126339}.progress-card.trend-decline{border-left-color:#d43d4f}.progress-card.trend-decline span{color:#9e1d2c}@media(max-width:1100px){.analytics-filters-grid,.analytics-two-columns{grid-template-columns:1fr}.analytics-metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.athlete-details-head,.attendance-actions{align-items:stretch;flex-direction:column}.analytics-metric-grid.four,.analytics-bar-row,.analytics-volume-row{grid-template-columns:1fr}}.analytics-dashboard{gap:18px}.analytics-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analytics-header h1{margin:0;color:#10233f;font-size:clamp(26px,3vw,38px);line-height:1.08}.analytics-header p{margin:8px 0 0;color:#5f718c;font-weight:700}.analytics-filter-card{border:1px solid #dce7f7;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 16px 36px #0f63ce14}.analytics-filter-grid.compact{display:grid;grid-template-columns:minmax(190px,1.1fr) repeat(3,minmax(145px,1fr));gap:14px;align-items:end}.analytics-filter-card.one .analytics-filter-grid,.analytics-filter-card.two .analytics-filter-grid,.analytics-filter-card.one,.analytics-filter-card.two{display:grid;gap:14px}.analytics-filter-card.two{grid-template-columns:repeat(2,minmax(220px,1fr))}.analytics-filter-card.one{grid-template-columns:minmax(220px,420px)}.analytics-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border:1px solid #dce7f7;border-radius:12px;background:#fff;box-shadow:0 12px 28px #0f63ce12}.analytics-tabs button{min-height:48px;padding:10px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#42546e;font-weight:900;white-space:nowrap;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.analytics-tabs button:hover{background:#f2f7ff;color:#0f63ce}.analytics-tabs button.active{border-color:#0f63ce;background:#e9f2ff;color:#0f63ce;box-shadow:inset 0 -2px #0f63ce2e}.analytics-loading-pill{justify-self:start}.analytics-tab-content{display:grid;gap:18px}.analytics-kpi-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.analytics-kpi-card{display:grid;gap:8px;min-height:124px;padding:18px;border:1px solid #dce7f7;border-left:5px solid #0f63ce;border-radius:10px;background:#fff;box-shadow:0 14px 30px #0f63ce14}.analytics-kpi-card span{color:#5f718c;font-size:13px;font-weight:900;letter-spacing:0;text-transform:uppercase}.analytics-kpi-card strong{color:#0f63ce;font-size:clamp(30px,4vw,44px);line-height:1}.analytics-kpi-card small{color:#6c7f99;font-weight:700}.analytics-kpi-card.tone-success{border-left-color:#1f9d55}.analytics-kpi-card.tone-success strong{color:#12723f}.analytics-kpi-card.tone-warning{border-left-color:#f0a319}.analytics-kpi-card.tone-warning strong{color:#a36100}.analytics-kpi-card.tone-danger{border-left-color:#d43d4f}.analytics-kpi-card.tone-danger strong{color:#9e1d2c}.analytics-chart-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.analytics-chart-card,.analytics-table-card{display:grid;gap:14px;min-width:0;border:1px solid #dce7f7;border-radius:12px;background:#fff;box-shadow:0 16px 36px #0f63ce14}.analytics-chart-card h3,.analytics-table-card h3{margin:0;color:#10233f;font-size:18px}.analytics-chart-box{min-height:270px;overflow:hidden}.stacked-chart,.grouped-chart{display:grid;align-items:end;gap:10px;min-height:260px;padding:10px 4px 0;overflow-x:auto}.stacked-chart-column,.grouped-chart-column{display:grid;grid-template-rows:1fr auto auto;gap:8px;min-width:42px;justify-items:center}.stacked-chart-bar,.grouped-bars{display:flex;align-items:flex-end;justify-content:center;width:32px;height:210px;overflow:hidden;border-radius:999px 999px 6px 6px;background:#edf4ff}.stacked-chart-bar{flex-direction:column-reverse}.stacked-chart-bar i,.grouped-bars i{display:block;width:100%;min-height:2px}.stacked-chart-bar .present{background:linear-gradient(180deg,#31c779,#1f9d55)}.stacked-chart-bar .missed{background:linear-gradient(180deg,#ff7b8a,#d43d4f)}.stacked-chart-column span,.grouped-chart-column span{max-width:72px;color:#6c7f99;font-size:12px;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stacked-chart-column strong,.grouped-chart-column strong{color:#0b3d82;font-size:12px}.horizontal-chart{display:grid;gap:12px;padding:8px 2px}.horizontal-chart-row{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(160px,1.4fr) 56px;gap:12px;align-items:center}.horizontal-chart-row span{min-width:0;color:#42546e;font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.horizontal-chart-row div{height:13px;overflow:hidden;border-radius:999px;background:#e9f2ff}.horizontal-chart-row i{display:block;height:100%;min-width:3px;border-radius:inherit}.horizontal-chart-row i.good{background:#1f9d55}.horizontal-chart-row i.warn{background:#f0a319}.horizontal-chart-row i.bad{background:#d43d4f}.horizontal-chart-row strong{color:#0b3d82;font-size:13px;text-align:right}.svg-chart-wrap{display:grid;gap:10px;min-height:260px}.svg-chart-wrap svg{width:100%;height:230px;border-radius:10px;background:linear-gradient(180deg,#f8fbff,#fff)}.svg-chart-wrap circle{fill:#fff;stroke:#0f63ce;stroke-width:5}.line-fill{fill:#0f63ce1f}.line-stroke{fill:none;stroke:#0f63ce;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.chart-labels{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;color:#6c7f99;font-size:12px;font-weight:800;overflow:hidden}.chart-labels span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.grouped-bars{flex-direction:row;align-items:flex-end;gap:5px;width:44px;padding:0 6px;border-radius:8px 8px 4px 4px}.grouped-bars i{width:14px;border-radius:999px 999px 3px 3px}.grouped-bars .assigned{background:#0f63ce}.grouped-bars .completed{background:#1f9d55}.analytics-table-headline{display:flex;align-items:center;justify-content:space-between;gap:14px}.analytics-mode-toggle{display:inline-flex;gap:6px;padding:5px;border:1px solid #dce7f7;border-radius:10px;background:#f7fbff}.analytics-mode-toggle button{min-height:34px;padding:7px 12px;border:0;border-radius:8px;background:transparent;color:#42546e;font-weight:900;white-space:nowrap;cursor:pointer}.analytics-mode-toggle button.active{background:#0f63ce;color:#fff}.progress-lines-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.progress-mini-line{display:grid;gap:10px;padding:14px;border:1px solid #dce7f7;border-left:5px solid #0f63ce;border-radius:10px;background:#fbfdff}.progress-mini-line strong{color:#10233f}.progress-mini-line span{color:#6c7f99;font-size:13px;font-weight:800}.progress-slope{position:relative;height:46px;border-radius:8px;background:linear-gradient(180deg,#f8fbff,#eef5ff)}.progress-slope:before{content:"";position:absolute;left:14px;right:14px;top:22px;height:4px;border-radius:999px;background:currentColor;transform-origin:left center}.progress-mini-line.trend-growth{border-left-color:#1f9d55;color:#1f9d55}.progress-mini-line.trend-growth .progress-slope:before{transform:rotate(-10deg)}.progress-mini-line.trend-decline{border-left-color:#d43d4f;color:#d43d4f}.progress-mini-line.trend-decline .progress-slope:before{transform:rotate(10deg)}.progress-mini-line.trend-stable{border-left-color:#f0a319;color:#f0a319}@media(max-width:1180px){.analytics-filter-grid.compact,.analytics-chart-grid.two{grid-template-columns:1fr 1fr}.analytics-kpi-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.analytics-header,.analytics-table-headline{align-items:stretch;flex-direction:column}.analytics-header .ghost-button{width:100%}.analytics-filter-grid.compact,.analytics-filter-card.two,.analytics-filter-card.one,.analytics-chart-grid.two,.analytics-kpi-grid.four,.horizontal-chart-row,.analytics-tabs{grid-template-columns:1fr}.analytics-tabs button,.analytics-mode-toggle button{white-space:normal}.analytics-mode-toggle{display:grid;grid-template-columns:1fr 1fr}.analytics-chart-box,.stacked-chart,.grouped-chart{min-height:230px}.stacked-chart-bar,.grouped-bars{height:180px}.horizontal-chart-row strong{text-align:left}}.attendance-lock-note{margin:12px 0 0;padding:10px 12px;border:1px solid #dce7f7;border-radius:8px;background:#f3f8ff;color:#42546e;font-size:13px;font-weight:800}.training-comments-block{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid #e5edf8}.training-comments-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-comments-head h4{margin:0;color:#08224a;font-size:18px}.training-comments-head small{margin-top:4px;color:#6c7f99;font-weight:800}.training-comments-list{display:grid;gap:10px}.training-comment-card{display:grid;gap:10px;padding:14px;border:1px solid #dce7f7;border-left:4px solid #0f63ce;border-radius:10px;background:linear-gradient(180deg,#fff,#f8fbff)}.training-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.training-comment-meta strong{color:#0b3d82}.training-comment-meta span{color:#6c7f99;font-size:13px;font-weight:800;white-space:nowrap}.training-comment-card p{margin:0;color:#10233f;font-weight:700;line-height:1.55;white-space:pre-wrap}.comment-create-form,.comment-edit-form{display:grid;gap:10px}.comment-create-form textarea,.comment-edit-form textarea{width:100%;min-height:108px;resize:none}.comment-create-footer,.comment-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.comment-create-footer small{margin-right:auto;color:#6c7f99;font-weight:800}.inline-message{margin:0;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:900}.inline-message.success{border:1px solid #bfe8d0;background:#ecfff4;color:#126339}.inline-message.error{border:1px solid #f3c4ca;background:#fff1f3;color:#9e1d2c}@media(max-width:680px){.training-comments-head,.training-comment-meta,.comment-create-footer,.comment-actions{align-items:stretch;flex-direction:column}.training-comment-meta span{white-space:normal}.comment-create-footer small{margin-right:0}}.training-comments-head h4{display:block;margin:0;color:#08224a;font-family:inherit;font-size:17px;font-weight:800;line-height:1.25;letter-spacing:0;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}.training-details-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.training-details-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.details-assignment-editor{display:grid;gap:14px;margin-top:14px;padding:14px;border:1px solid #dce7f7;border-radius:10px;background:#f8fbff}.details-assignment-editor .panel-head h3{margin:0;padding:0;border:0}.details-assignment-list{display:grid;gap:10px}.assignment-edit-actions{margin-top:0}.details-assignment-editor .training-item-editor{background:#fff}.details-assignment-editor .training-item-editor-head{background:transparent}.details-assignment-editor .icon-button.danger:disabled{cursor:not-allowed;opacity:.45}@media(max-width:680px){.training-details-topbar,.training-details-topbar-actions{align-items:stretch;flex-direction:column}.training-details-topbar .ghost-button,.training-details-topbar .danger-button{width:100%}}.assignment-edit-button,.attendance-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 13px;border-radius:9px;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.assignment-edit-button{border:1px solid #9bc5ff;background:#edf6ff;color:#0b4fa5}.assignment-edit-button:before{content:"✎";font-size:13px;line-height:1}.attendance-action-button.present{border:1px solid #bfe8d0;background:#f4fff8;color:#126339}.attendance-action-button.present:before{content:"✓";font-size:14px;line-height:1}.attendance-action-button.absent{border:1px solid #f3c4ca;background:#fff6f7;color:#9e1d2c}.attendance-action-button.absent:before{content:"×";font-size:15px;line-height:1}.assignment-edit-button:hover:not(:disabled),.attendance-action-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #0f63ce1f}.assignment-edit-button:disabled,.attendance-action-button:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.attendance-action-button.present.active{border-color:#1f9d55;background:#1f9d55;color:#fff;box-shadow:0 10px 22px #1f9d5533}.attendance-action-button.absent.active{border-color:#d43d4f;background:#d43d4f;color:#fff;box-shadow:0 10px 22px #d43d4f33}@media(max-width:1100px){.app-sidebar{height:calc(100dvh - 58px);max-height:calc(100dvh - 58px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}.app-sidebar .side-nav{flex:0 0 auto}.app-sidebar .sidebar-footer{margin-top:18px}}.athletes-page-grid,.groups-page-grid{align-items:stretch}.athletes-page-grid>.panel,.groups-page-grid>.panel{height:min(680px,calc(100dvh - 210px));min-height:560px}.athletes-page-grid .training-form,.groups-page-grid .training-form,.athletes-list-panel{display:flex;min-height:0;flex-direction:column}.athletes-scroll-list,.group-athletes-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.athletes-list-panel .athletes-scroll-list{flex:1 1 auto}.groups-page-grid .group-athletes-scroll{flex:1 1 auto;max-height:none}.groups-page-grid .tool-section{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}.groups-page-grid .training-form>button,.athletes-page-grid .training-form>button{margin-top:auto}@media(max-width:1100px){.athletes-page-grid>.panel,.groups-page-grid>.panel{height:auto;min-height:0}.athletes-list-panel,.groups-page-grid .athletes-list-panel{height:min(620px,calc(100dvh - 190px));min-height:420px}.groups-page-grid .training-form{min-height:520px}.groups-page-grid .group-athletes-scroll{max-height:260px}}@media(max-width:680px){.athletes-list-panel,.groups-page-grid .athletes-list-panel{height:min(560px,calc(100dvh - 170px));min-height:360px}.groups-page-grid .training-form{min-height:500px}}.athletes-page-grid>.training-form{height:auto;min-height:0;align-self:start}.athletes-page-grid .training-form>button{margin-top:0}@media(max-width:1100px){.app-sidebar{display:flex;flex-direction:column}.app-sidebar .sidebar-footer{margin-top:auto;flex:0 0 auto}}.athletes-list-panel .athletes-scroll-list{align-content:start;align-items:start}.athletes-list-panel .athletes-scroll-list>.list-row,.athletes-list-panel .athletes-scroll-list>.group-row,.athletes-list-panel .athletes-scroll-list>.athlete-list-row{align-self:start;width:100%}.groups-page-grid .group-athletes-scroll{align-content:start;align-items:start}.groups-page-grid .group-athletes-scroll>.checkbox-row{align-self:start;width:100%}.groups-page-grid .athletes-list-panel{height:min(610px,calc(100dvh - 240px));min-height:500px}@media(max-width:1100px){.groups-page-grid .athletes-list-panel{height:min(560px,calc(100dvh - 210px));min-height:400px}}@media(max-width:680px){.groups-page-grid .athletes-list-panel{height:min(520px,calc(100dvh - 180px));min-height:340px}}.groups-page-grid .athletes-list-panel{height:min(560px,calc(100dvh - 280px));min-height:440px}@media(max-width:1100px){.groups-page-grid .athletes-list-panel{height:min(520px,calc(100dvh - 240px));min-height:360px}}@media(max-width:680px){.groups-page-grid .athletes-list-panel{height:min(480px,calc(100dvh - 210px));min-height:320px}}.analytics-actions-head{justify-content:flex-end;margin-top:-12px}@media(max-width:680px){.analytics-actions-head .ghost-button{width:100%}}.chart-grid-surface{position:relative;min-height:300px;padding:10px 8px 2px;border:1px solid #e5edf8;border-radius:12px;background:linear-gradient(to right,rgba(15,99,206,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,99,206,.08) 1px,transparent 1px),linear-gradient(180deg,#fbfdff,#fff);background-size:56px 56px,56px 56px,auto}.chart-with-axis{display:grid;gap:10px;min-width:0}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.chart-legend span{display:inline-flex;align-items:center;gap:6px;color:#42546e;font-size:12px;font-weight:900}.chart-legend i{width:10px;height:10px;border-radius:999px}.chart-axis-layout{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;min-width:0}.chart-y-axis{display:flex;height:230px;flex-direction:column;justify-content:space-between;padding:2px 0 28px;color:#7c8da5;font-size:11px;font-weight:800;text-align:right}.rich-chart{min-height:252px;padding-top:4px}.rich-bar-column{position:relative}.rich-stacked-bar,.rich-grouped-bars{height:214px;box-shadow:inset 0 0 0 1px #0f63ce14}.rich-bar-column:after,.horizontal-chart-row:after,.progress-sparkline:after{content:attr(data-tooltip);position:absolute;z-index:5;left:50%;bottom:calc(100% + 8px);width:max-content;max-width:260px;padding:8px 10px;border-radius:8px;background:#10233f;color:#fff;font-size:12px;font-weight:800;line-height:1.35;opacity:0;pointer-events:none;transform:translate(-50%) translateY(4px);transition:opacity .16s ease,transform .16s ease}.rich-bar-column:hover:after,.horizontal-chart-row:hover:after,.progress-sparkline:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.rich-horizontal-chart{position:relative;padding-top:8px}.horizontal-scale{display:grid;grid-template-columns:repeat(3,1fr);margin-left:min(42%,220px);margin-bottom:4px;color:#7c8da5;font-size:11px;font-weight:800}.horizontal-scale span:nth-child(2){text-align:center}.horizontal-scale span:nth-child(3){text-align:right}.rich-horizontal-chart .horizontal-chart-row{position:relative}.rich-horizontal-chart .horizontal-chart-row div{background:linear-gradient(to right,transparent calc(50% - 1px),rgba(15,99,206,.16) calc(50% - 1px),rgba(15,99,206,.16) calc(50% + 1px),transparent calc(50% + 1px)),#e9f2ff}.rich-svg-chart svg,.progress-sparkline{overflow:visible}.grid-line{stroke:#0f63ce24;stroke-width:1}.axis-text{fill:#7c8da5;font-size:11px;font-weight:800;text-anchor:end}.x-axis-text{text-anchor:middle}.line-point circle{fill:#fff;stroke:#0f63ce;stroke-width:4;transition:r .16s ease,filter .16s ease}.line-point:hover circle{r:7;filter:drop-shadow(0 6px 10px rgba(15,99,206,.25))}.rich-progress-grid .progress-mini-line{background:linear-gradient(180deg,#f8fbfff5,#fffffffa)}.progress-sparkline{position:relative;width:100%;height:130px;border-radius:10px;background:linear-gradient(to right,rgba(15,99,206,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,99,206,.08) 1px,transparent 1px),#fbfdff;background-size:48px 48px,48px 48px,auto}.progress-sparkline .progress-line{stroke:currentColor;stroke-width:5;stroke-linecap:round}.progress-sparkline circle{fill:#fff;stroke:currentColor;stroke-width:4}@media(max-width:760px){.analytics-filter-head{align-items:stretch;flex-direction:column}.analytics-filter-head .ghost-button{width:100%}.chart-grid-surface{padding-inline:4px}.chart-axis-layout{grid-template-columns:28px minmax(0,1fr)}}.analytics-chart-card:has(.stacked-chart.rich-chart),.analytics-chart-card:has(.rich-horizontal-chart){border-color:#d9e3f1;box-shadow:0 8px 18px #0f234114}.analytics-chart-card:has(.stacked-chart.rich-chart) h3,.analytics-chart-card:has(.rich-horizontal-chart) h3{color:#071b3a;font-size:17px;font-weight:900}.analytics-chart-card:has(.stacked-chart.rich-chart) .chart-grid-surface,.analytics-chart-card:has(.rich-horizontal-chart) .chart-grid-surface{min-height:300px;padding:14px 16px 12px;border:0;background:#fff}.analytics-chart-card:has(.stacked-chart.rich-chart) .chart-legend{justify-content:center;margin-bottom:4px}.analytics-chart-card:has(.stacked-chart.rich-chart) .chart-legend span{color:#666;font-size:14px;font-weight:700}.analytics-chart-card:has(.stacked-chart.rich-chart) .chart-legend i{width:50px;height:14px;border-radius:0}.analytics-chart-card:has(.stacked-chart.rich-chart) .chart-axis-layout{grid-template-columns:28px minmax(0,1fr);gap:8px}.analytics-chart-card:has(.stacked-chart.rich-chart) .chart-y-axis{height:252px;padding:0 0 30px;color:#666;font-size:13px;font-weight:500}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart.rich-chart{min-height:280px;gap:34px;align-items:end;padding:0 2px;overflow-x:auto;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.13) 0 1px,transparent 1px calc((252px / 10))),repeating-linear-gradient(to right,rgba(0,0,0,.1) 0 1px,transparent 1px 25%);background-size:100% 252px,100% 252px;background-repeat:no-repeat;background-position:left top}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart-column{grid-template-rows:252px auto;gap:12px;min-width:120px}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart-bar{align-self:end;width:100%;max-width:128px;height:252px;border-radius:0;background:transparent;box-shadow:none}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart-bar i{border-radius:0}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart-bar .present{background:#5cc363}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart-bar .missed{background:#df4f63}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart-column span{max-width:none;color:#666;font-size:13px;font-weight:500}.analytics-chart-card:has(.rich-horizontal-chart) .rich-horizontal-chart{gap:7px;padding:10px 20px 10px 0}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-scale{margin:0 0 2px 96px;color:#666;font-size:13px;font-weight:500}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row{grid-template-columns:84px minmax(0,1fr) 0;gap:10px}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row>span{color:#666;font-size:14px;font-weight:500;text-align:right}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row>strong{display:none}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row div{height:22px;border-radius:0;background:repeating-linear-gradient(to right,rgba(0,0,0,.12) 0 1px,transparent 1px 10%),#fff}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row i{border-radius:0}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row i.good,.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row i.warn{background:#5cc363}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row i.bad{background:#df5146}@media(max-width:760px){.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart.rich-chart{gap:18px}.analytics-chart-card:has(.stacked-chart.rich-chart) .stacked-chart-column{min-width:92px}.analytics-chart-card:has(.rich-horizontal-chart) .horizontal-chart-row{grid-template-columns:76px minmax(180px,1fr) 0}}.recharts-card .recharts-box{min-height:320px;padding:10px 8px 4px;border:1px solid #e5edf8;border-radius:12px;background:#fff;overflow:hidden}.recharts-card .recharts-wrapper,.recharts-card .recharts-surface{outline:none}.recharts-card .recharts-cartesian-grid line{stroke:#d8e2ef}.recharts-card .recharts-tooltip-wrapper{z-index:8}.recharts-default-tooltip{border:1px solid #dce7f7!important;border-radius:10px!important;box-shadow:0 14px 34px #08224a29!important;font-family:inherit!important}.recharts-tooltip-label{color:#10233f!important;font-weight:900!important}.recharts-legend-wrapper{color:#42546e;font-weight:800}.analytics-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.analytics-filter-head h2{margin:0;color:#10233f;font-size:20px}.analytics-filter-head small{display:block;margin-top:4px;color:#6c7f99;font-weight:800}@media(max-width:760px){.analytics-filter-head{align-items:stretch;flex-direction:column}.analytics-filter-head .ghost-button{width:100%}.recharts-card .recharts-box{padding-inline:0}}.analytics-table-card{background:linear-gradient(135deg,rgba(15,99,206,.035),transparent 34%),#fff}.analytics-table tbody tr{transition:background .16s ease}.analytics-table tbody tr:hover{background:#f7fbff}.analytics-table td.analytics-cell-colored{font-weight:900}.analytics-badge,.analytics-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:28px;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:900;line-height:1;white-space:nowrap}.analytics-badge.good,.analytics-count-pill.good,.analytics-badge.trend-growth{border:1px solid #bfe8d0;background:#ecfff4;color:#126339}.analytics-badge.warn{border:1px solid #f6dd9f;background:#fff8e1;color:#8a5b00}.analytics-badge.bad,.analytics-count-pill.bad,.analytics-badge.trend-decline{border:1px solid #f3c4ca;background:#fff1f3;color:#9e1d2c}.analytics-badge.neutral,.analytics-badge.trend-stable{border:1px solid #dce7f7;background:#f4f8ff;color:#42546e}.analytics-risk-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.analytics-risk-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:6px 8px;border:1px solid #f3c4ca;border-radius:8px;background:#fff6f7}.analytics-risk-list span{min-width:0;overflow:hidden;color:#6b2430;font-size:13px;font-weight:900;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.analytics-risk-list strong{flex:0 0 auto;color:#9e1d2c;font-size:15px;line-height:1}.analytics-risk-empty{align-self:center;color:#6c7f99;font-size:13px;font-weight:800;line-height:1.35}.admin-page-grid{align-items:start}.admin-create-form{align-self:start}.admin-coaches-panel{height:min(650px,calc(100dvh - 220px));min-height:480px}.admin-coach-row{align-self:start;width:100%}.admin-coach-row strong,.admin-coach-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.admin-coaches-panel{height:min(580px,calc(100dvh - 190px));min-height:380px}}@media(max-width:760px){.admin-coaches-panel{height:min(520px,calc(100dvh - 170px));min-height:340px}}.analytics-page,.analytics-page h1,.analytics-page h2,.analytics-page h3,.analytics-page th,.analytics-page td,.analytics-page button,.analytics-page span,.analytics-page small,.analytics-page strong,.analytics-page .recharts-text,.analytics-page .recharts-legend-item-text{font-family:Segoe UI,Arial,sans-serif;font-synthesis:none;font-variant-ligatures:none;letter-spacing:0;text-rendering:auto;-webkit-font-smoothing:antialiased}.analytics-chart-card h3,.analytics-table-card h3{font-weight:800;line-height:1.28}.analytics-table th,.analytics-kpi-card span,.analytics-filter-head small,.analytics-table-headline h3{font-weight:800}
