:root{--background:#fff;--foreground:#1a202c;--surface:#f7fafc;--border:#e2e8f0;--border-strong:#cbd5e0;--muted:#718096;--accent:#2a8d80;--accent-soft:#e6f4f2;--good:#38a169;--good-soft:#f0fff4;--bad:#e53e3e;--bad-soft:#fff5f5;--warn:#dd6b20;--warn-soft:#feebc8;--day-good:#c6f6d5;--day-bad:#fed7d7;--day-warn:#fbd38d;--accent-2:#fa5e8a;--competition:#805ad5;--competition-soft:#f3ebff;--modal-gap-top:24px;--modal-gap-bottom:24px}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Arial,Helvetica,sans-serif;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font-family:inherit}button:not([class]),.injury-add-btn{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;box-shadow:0 3px 10px #2a8d804d}button:not([class]):hover,.injury-add-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 5px 14px #2a8d8061}button:not([class]):active,.injury-add-btn:active{transform:translateY(0);box-shadow:0 2px 6px #2a8d804d}button:not([class]):disabled,.injury-add-btn:disabled{background:var(--border-strong);color:var(--muted);cursor:default;box-shadow:none;filter:none;transform:none}#__next,body>div:first-child{width:100%}.auth-shell{background:var(--accent-soft);flex-direction:column;flex:1;display:flex}.auth-hero{background:linear-gradient(180deg, var(--accent) 0%, var(--accent-2) 55%, var(--accent-soft) 100%);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2.5rem 1.5rem 3rem;display:flex;position:relative;overflow:hidden}.auth-hero-sticky{flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;display:flex;position:sticky;top:0}.auth-hero-glow{pointer-events:none;background:radial-gradient(circle at 30% 20%,#ffffff59,#0000 60%),radial-gradient(circle at 80% 80%,#fff3,#0000 55%);height:140%;position:absolute;inset:-20% -20% auto}.auth-hero-logo{background:#fffffff5;border-radius:28px;width:min(220px,55vw);height:auto;padding:1.1rem;position:relative;box-shadow:0 16px 40px #00000038,0 2px 8px #00000014}.auth-hero-tagline{color:#fff;text-shadow:0 1px 6px #0003;max-width:340px;font-size:1.05rem;font-weight:600;position:relative}.auth-card-wrap{background:var(--accent-soft);flex:1;justify-content:center;padding:1.5rem;display:flex}.auth-card-column{flex-direction:column;align-self:flex-start;width:100%;max-width:420px;display:flex}.auth-card{background:var(--background);border-radius:24px;width:100%;padding:2.25rem 2rem;box-shadow:0 8px 30px #00000014}.auth-card-column .profile-support-contact{margin-top:1.25rem}.auth-card h1{letter-spacing:-.01em;font-size:1.6rem}.auth-form-subtitle{color:var(--muted);margin-top:-.4rem;font-size:.9rem}@media (min-width:860px){.auth-shell{flex-direction:row}.auth-hero{flex:1;justify-content:flex-start;padding:3rem}.auth-hero-sticky{min-height:100vh}.auth-hero-logo{width:min(320px,60%)}.auth-hero-tagline{max-width:380px;font-size:1.25rem}.auth-card-wrap{flex:1;align-items:center;padding:3rem}.auth-card-column{align-self:center}.auth-card{box-shadow:0 20px 50px #0000001a}}.app-shell{width:100%;position:relative}.app-header{z-index:210;background:linear-gradient(100deg, #fdf6f8 0%, var(--accent-2) 9%, var(--accent) 100%);color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.3rem 1.5rem;display:flex;position:relative}.app-header-title{min-width:0;color:inherit;align-items:center;gap:.6rem;text-decoration:none;display:flex}.app-header-logo{border-radius:7px;flex-shrink:0}.app-header-logo-link{flex-shrink:0;display:flex}.app-header-profile-link{min-width:0;color:inherit;border-radius:999px;align-items:center;gap:.6rem;text-decoration:none;display:flex}.app-header-profile-link:hover .app-header-name{text-decoration:underline}@media (min-width:601px){.app-header-profile-link .avatar{display:none}}.app-header .role-badge{flex-shrink:0;margin-top:0}.app-header-who{align-items:center;gap:.6rem;min-width:0;display:flex}.app-header-name{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-weight:600;display:-webkit-box;overflow:hidden}.app-header-menu{margin-left:auto;position:relative}.app-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.app-header-actions-desktop-only{align-items:center;gap:.5rem;display:flex}.bottom-nav{display:none}@media (max-width:600px){.app-header-actions-desktop-only{display:none}.app-header{background:linear-gradient(100deg, #fdf6f8 0%, var(--accent-2) 30%, var(--accent) 100%);gap:.5rem;padding-left:.75rem;padding-right:.75rem}.bottom-nav{z-index:210;padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg, var(--accent), var(--accent-2));justify-content:space-around;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}body:has(.bottom-nav){padding-bottom:66px}.nav-overlay .nav-card-grid{padding-bottom:calc(1rem + 90px)}.nav-overlay{scroll-padding-bottom:90px}:root{--modal-gap-top:16px;--modal-gap-bottom:calc(16px + env(safe-area-inset-bottom,0px))}}.app-header-icon-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:54px;height:50px;padding:0;font-size:1.6rem;line-height:1;text-decoration:none;display:flex;position:relative}.app-header-icon-btn:hover{color:#fff;background:#ffffff26}.app-header-icon-photo{object-fit:cover;border-radius:6px;width:30px;height:30px}.app-header-burger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;gap:6px;width:54px;height:50px;padding:0;display:flex;position:relative}.app-header-burger:hover{background:#ffffff26}.app-header-burger span{background:#fff;border-radius:2px;height:3px;margin:0 11px;display:block}.notification-dot{background:var(--bad);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;right:4px}.notification-dot-card{z-index:2;top:10px;right:10px}.profile-identity-side{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.profile-logout{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fffc;border-radius:999px;padding:.3rem .8rem;font-size:.85rem;font-weight:600}.profile-logout:hover{background:#ffffff2e}.nav-logout{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:.6rem;padding-top:.5rem;display:flex}.profile-support-contact{color:var(--muted);text-align:center;margin-top:2rem;font-size:.85rem}.profile-support-contact a{color:var(--muted);text-decoration:underline}@media (max-width:480px){.app-header-title{gap:.45rem}.app-header-logo{width:40px;height:40px}.app-header-profile-link .avatar{width:32px!important;height:32px!important;font-size:13px!important}.app-header-profile-link{gap:.45rem}.app-header-who{flex-direction:column;align-items:flex-start;gap:.15rem}.app-header-who .app-header-name{-webkit-line-clamp:1;font-size:.95rem}.app-header-who .role-badge{padding:.05rem .5rem;font-size:.7rem}}.avatar{background:var(--accent-soft);color:var(--accent);border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden;box-shadow:0 1px 4px #00000026}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-upload{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.avatar-upload-actions{align-items:center;gap:.75rem;display:flex}.avatar-upload-actions label{cursor:pointer}.avatar-upload .form-error{flex-basis:100%;margin:0}.checklist-video{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin-top:1rem;display:flex}.checklist-video-none{color:var(--muted)}.diary-photo-field{flex-direction:column;gap:.4rem;display:flex}.diary-field-label{font-size:.9rem}.photo-picker .attachment-list{margin-top:0}.photo-picker-thumb{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:80px;height:80px;display:block}.photo-picker-file{background:var(--accent-soft);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.3rem;font-size:1.4rem;display:flex;overflow:hidden}.photo-picker-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.65rem;line-height:1.2;overflow:hidden}.photo-picker-btn{border:1.5px dashed var(--accent);background:var(--accent-soft);color:var(--accent);cursor:pointer;box-shadow:none;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.photo-picker-btn:hover{filter:brightness(.97)}.attachments{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem}.attachment-list{flex-wrap:wrap;gap:.6rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.attachment-item{position:relative}.attachment-link img{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:96px;height:96px;display:block}.attachment-pdf{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:10px;align-items:center;gap:.35rem;max-width:200px;padding:.6rem .75rem;font-size:.85rem;display:flex}.attachment-remove{border:1px solid var(--border);width:24px;height:24px;color:var(--bad);cursor:pointer;background:#fff;border-radius:50%;padding:0;font-size:.75rem;line-height:1;position:absolute;top:-8px;right:-8px}.attachment-add input{display:none}.attachment-add{cursor:pointer;margin-top:.25rem;display:inline-block}.attachment-hint{color:var(--muted);margin:.35rem 0 0;font-size:.8rem;display:block}.injury-exercises{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem}.modal .injury-exercise-list{flex-direction:column;gap:.6rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.injury-exercise{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.6rem .75rem}.injury-exercise-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.injury-exercise-name{font-weight:600}.injury-exercise-dosage{color:var(--accent);flex-shrink:0;font-size:.9rem;font-weight:600}.modal .injury-exercise-note{color:var(--muted);white-space:pre-line;margin:.25rem 0 0;font-size:.85rem}.injury-exercise-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;margin-top:.5rem;display:grid}.injury-exercise-days form{display:contents}.injury-exercise-day{border:1px solid var(--border-strong);background:var(--background);min-height:44px;color:var(--muted);font:inherit;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:.2rem 0;font-size:.75rem;line-height:1.2;display:flex}button.injury-exercise-day{cursor:pointer}button.injury-exercise-day:disabled{cursor:wait}.injury-exercise-day-today{border-color:var(--accent);font-weight:600}.injury-exercise-day-done{background:var(--good-soft);border-color:var(--good);color:var(--good);font-weight:600}.injury-exercise-count{color:var(--muted);margin-top:.35rem;font-size:.8rem;display:block}.injury-exercise-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.4rem;display:flex}.injury-exercise-form{margin:.5rem 0}.injury-exercise-form-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.injury-exercise-form-actions{align-items:center;gap:1rem;display:flex}.profile-identity{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1.1rem 1.3rem;display:flex;box-shadow:0 6px 18px #2a8d8040}.profile-identity-name{color:#fff;font-size:1.15rem;font-weight:700}.profile-role-badge{color:#fff;background:#ffffff40;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:700;display:inline-block}.account-settings{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.account-settings .entry-detail-actions{flex-wrap:wrap;gap:.6rem 1rem}.profile-details{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.25rem}.profile-details p{margin:.3rem 0}.nav-overlay{z-index:200;background:var(--background);flex-direction:column;height:calc(100vh - 100%);display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden auto}.nav-card-grid{z-index:1;grid-template-columns:repeat(2,1fr);gap:.85rem;width:100%;max-width:640px;margin:0 auto;padding:1rem;display:grid;position:relative}.nav-card{background-position:right 35%;background-size:cover;background-color:var(--surface);min-height:130px;color:inherit;border-radius:18px;align-items:flex-end;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 18px #00000026}.nav-card-label{z-index:1;color:#0f3d37;text-shadow:0 1px 3px #ffffffe6,0 0 8px #fff9;width:100%;padding:.7rem .8rem;font-size:.95rem;font-weight:700;position:relative}@media (min-width:480px){.nav-card{min-height:150px}}.dashboard{text-align:left;width:100%;max-width:480px;margin:0 auto;padding:2rem 1.5rem;position:relative}.dashboard.legal-page{max-width:720px;padding:2rem 1rem 3rem;line-height:1.6}.legal-page h2{margin-top:1.75rem}.legal-page h3{margin:1rem 0 .25rem;font-size:1rem}.legal-page ul{padding-left:1.25rem}.legal-page li{margin-bottom:.35rem}.legal-updated{color:var(--muted);font-size:.9rem}.legal-links{margin-top:2rem}.dashboard-wide{max-width:640px}@media (min-width:860px){.dashboard-camera{max-width:1100px}}.side-decor{z-index:-1;pointer-events:none;background-repeat:repeat-y;background-size:300px;width:300px;display:none;position:absolute;top:0;bottom:0}.nav-card-grid .side-decor{z-index:0}@media (min-width:960px){.side-decor{display:block}}.side-decor-left{background-position:0 0;left:0}.side-decor-right{background-position:100% 0;right:0;transform:scaleX(-1)}.nav-card-grid .side-decor-left{left:calc(50% - 50vw)}.nav-card-grid .side-decor-right{right:calc(50% - 50vw)}.auth-form{flex-direction:column;gap:1.1rem;display:flex}.auth-form label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.auth-form input{border:1.5px solid var(--border-strong);background:var(--background);color:var(--foreground);border-radius:10px;padding:.7rem .85rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.role-fieldset{border:1.5px solid var(--border-strong);border-radius:10px;gap:1.2rem;padding:.75rem 1rem;display:flex}.role-fieldset legend{color:var(--muted);padding:0 .3rem;font-size:.9rem;font-weight:600}.auth-form label.role-option{color:var(--foreground);cursor:pointer;flex-direction:row;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500}.role-option input[type=checkbox],.role-option input[type=radio]{width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.role-option:has(input[type=checkbox]){align-items:flex-start}.role-option:has(input[type=checkbox]) input{margin-top:.15rem}.optional{opacity:.6;font-weight:400}.auth-form button{justify-content:center;width:100%;margin-top:.3rem;padding:.8rem 1.1rem;font-size:1rem}.form-error{color:var(--bad);font-size:.9rem}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.export-row{justify-content:flex-end;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.export-dialog-range{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.export-dialog-note{color:var(--muted);margin:0;font-size:.85rem}.export-dialog-actions{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}.export-dialog-actions .btn{text-decoration:none}.btn-disabled{opacity:.5;pointer-events:none}.print-report{color:#000;background:#fff;max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem;font-size:.9rem}.print-report h1{margin:0;font-size:1.5rem}.print-report h2{margin:1.5rem 0 .5rem;font-size:1.1rem}.print-subtitle,.print-empty,.print-footer{color:#555}.print-toolbar{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.print-report table{border-collapse:collapse;width:100%}.print-table-wrap{overflow-x:auto}.print-report th,.print-report td{text-align:left;vertical-align:top;white-space:pre-line;border:1px solid #bbb;padding:.3rem .45rem}.print-report td{overflow-wrap:anywhere}.print-report td:first-child{max-width:14em}.print-report th{background:#f0f0f0;font-weight:700}.print-report tbody tr:nth-child(2n){background:#fafafa}.print-footer{margin-top:2rem;font-size:.8rem}@media print{.print-toolbar{display:none}.print-report{max-width:none;padding:0;font-size:9pt}.print-report tr{break-inside:avoid}.print-table-wrap{overflow:visible}.print-report thead{display:table-header-group}}@page{margin:12mm}.print-landscape{page:landscape}@page landscape{size:A4 landscape}.offline-banner{background:var(--warn-soft);border:1px solid var(--warn);max-width:640px;color:var(--foreground);border-radius:12px;margin:0 auto 1rem;padding:.7rem 1rem;font-size:.9rem}.consent-pending-banner{background:var(--accent-soft);border:1px solid var(--accent);width:calc(100% - 2rem);max-width:640px;color:var(--foreground);border-radius:12px;align-items:flex-start;gap:.6rem;margin:1rem auto 1.25rem;padding:.85rem 1.1rem;display:flex}.consent-pending-banner-icon{flex-shrink:0;font-size:1.1rem;line-height:1.4}.consent-pending-banner p{margin:0;font-size:.9rem;line-height:1.4}.consent-pending-banner strong{color:var(--accent)}.consent-resend-form{margin-top:.5rem}.consent-resend-form label{flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.card-inline-message{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.card-inline-message-close{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;line-height:1}.form-success{color:var(--good);font-size:.9rem}.form-switch{text-align:center;color:var(--muted);margin-top:.2rem;font-size:.9rem}.auth-form-forgot{text-align:right;margin:-.4rem 0 0;font-size:.85rem}.auth-form-forgot a{color:var(--accent);font-weight:600}.form-switch a,.role-option a{color:var(--accent);font-weight:600;text-decoration:underline}.link-button{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.role-badge{background:var(--surface);border:1px solid var(--border);color:var(--foreground);border-radius:999px;margin-top:.3rem;padding:.15rem .6rem;font-size:.8rem;display:inline-block}.athlete-list{flex-direction:column;gap:.4rem;margin-bottom:1rem;padding:0;list-style:none;display:flex}.athlete-list li{border:2px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);color:var(--accent);overflow-wrap:break-word;word-break:break-word;border-radius:10px;padding:.6rem .85rem;font-weight:600}.coach-invitation-list{flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:0;list-style:none;display:flex}.coach-invitation{border:2px solid var(--border);background:var(--accent-soft);overflow-wrap:break-word;border-radius:10px;padding:.75rem .85rem}.coach-invitation p{margin:0 0 .5rem}.delete-account-groups ul{margin:.25rem 0 .75rem;padding-left:1.25rem}.pending-request-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.pending-request-row{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.pending-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.coach-codes{flex-direction:column;gap:.4rem;font-size:.9rem;display:flex}.coach-codes-label{font-size:.9rem}.coach-code-row{align-items:center;gap:.5rem;display:flex}.coach-code-row input{border:1px solid var(--border-strong);background:var(--background);border-radius:6px;flex:1;padding:.5rem .6rem;font-size:1rem}.input-invalid{outline-color:var(--bad);border-color:var(--bad)!important}.remove-code{font-size:1.3rem;line-height:1}.btn-edit,.btn-delete{border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-weight:600;line-height:1.3;text-decoration:none;transition:filter .12s,transform .12s;display:inline-flex;font-size:.82rem!important}.btn-edit:hover,.btn-delete:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-edit{background:var(--accent-soft);color:var(--accent);border:1px solid #bee3f8}.btn-delete{background:var(--bad-soft);color:var(--bad);border:1px solid #fed7d7}.invite-code-card{border:2px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);border-radius:14px;margin-bottom:1.5rem;padding:1.1rem 1.3rem}.invite-code-card h2{color:var(--accent);margin:0 0 .3rem}.invite-code-row{align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.invite-code{letter-spacing:.05em;color:var(--accent);background:#ffffffbf;border:2px solid #ffffffe6;border-radius:8px;padding:.4rem .75rem;font-family:monospace;font-size:1.2rem;font-weight:700}.add-coach-form{flex-direction:column;gap:.5rem;max-width:220px;margin-top:.6rem;display:flex}.add-coach-form label{flex-direction:column;gap:.3rem;display:flex}.add-coach-form input,.add-coach-form textarea{border:1px solid var(--border-strong);background:var(--background);border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:1rem}.coach-comments{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.coach-comments>strong{margin-bottom:.5rem;display:block}.coach-comments-empty{color:var(--muted);margin:0 0 .5rem}.coach-comment-list{flex-direction:column;gap:.6rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.coach-comment-item{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem}.coach-comment-meta{justify-content:space-between;gap:.5rem;margin-bottom:.3rem;font-size:.85rem;display:flex}.coach-comment-date{color:var(--muted)}.coach-comment-text{white-space:pre-wrap;margin:0}.coach-comment-actions{gap:.75rem;margin-top:.4rem;display:flex}.conversation-kind-tabs{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.conversation-kind-tab{border:2px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);color:var(--accent);border-radius:999px;padding:.45rem 1rem;font-size:.88rem;font-weight:600;transition:border-color .15s,transform .1s}.conversation-kind-tab:hover{border-color:var(--accent);transform:scale(1.03)}.conversation-kind-tab-active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000;box-shadow:0 3px 10px #2a8d804d}.conversation-search-input{margin-bottom:1rem}.conversation-list{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.conversation-row{color:inherit;background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:2px solid #0000;border-radius:10px;flex-direction:column;gap:.15rem;padding:.65rem .85rem;transition:box-shadow .15s;display:flex}.conversation-row:hover{box-shadow:0 2px 8px #2a8d8026}.conversation-row-active{box-shadow:0 3px 10px #2a8d8033}.conversation-row-title{color:var(--accent);overflow-wrap:break-word;word-break:break-word;align-items:center;gap:.4rem;min-width:0;font-weight:700;display:flex}.conversation-kind-badge{color:var(--accent);background:#ffffffb3;border-radius:999px;padding:.05rem .4rem;font-size:.68rem;font-weight:700}.conversation-row-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.modal-message-thread{flex-direction:column;max-height:80vh;display:flex}.message-thread{flex-direction:column;min-height:0;display:flex}.message-list{flex-direction:column;flex:1;gap:.5rem;min-height:30vh;max-height:55vh;margin-bottom:.75rem;padding:.25rem;display:flex;overflow-y:auto}.message-bubble-row{justify-content:flex-start;align-items:flex-end;gap:.4rem;display:flex}.message-bubble-own{justify-content:flex-end}.message-bubble{background:var(--surface);border:1px solid var(--border);border-radius:14px;max-width:78%;padding:.5rem .75rem}.message-bubble-own .message-bubble{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000}.message-bubble-sender{color:var(--accent);margin-bottom:.15rem;font-size:.75rem;font-weight:700;display:block}.message-bubble-text{white-space:pre-wrap;word-break:break-word;margin:0}.message-bubble-footer{justify-content:flex-end;align-items:center;gap:.2rem;margin-top:.15rem;display:flex}.message-bubble-time{opacity:.7;font-size:.65rem}.message-bubble-actions{opacity:0;align-items:center;transition:opacity .12s;display:flex}.message-bubble-row:hover .message-bubble-actions,.message-bubble-actions:focus-within{opacity:1}@media (hover:none){.message-bubble-actions{opacity:.55}}.message-bubble-icon-btn{width:15px;height:15px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:.6rem;line-height:1;display:inline-flex}.message-bubble-icon-btn:hover{opacity:1}.message-bubble-icon-btn-danger{color:var(--bad)}.message-bubble-own .message-bubble-icon-btn-danger{color:#fff}.message-bubble-confirm{opacity:.9;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.message-bubble-edit{flex-direction:column;gap:.4rem;display:flex}.message-bubble-edit input{border:1px solid var(--border-strong);background:var(--background);color:var(--foreground);border-radius:6px;padding:.35rem .5rem;font-size:.9rem}.message-bubble-edit-actions{gap:.6rem;display:flex}.message-bubble-error{margin-top:.3rem;font-size:.75rem}.message-send-form{gap:.5rem;display:flex}.message-send-form input{border:1px solid var(--border);border-radius:999px;flex:1;padding:.6rem .8rem}.add-coach-actions{align-items:center;gap:1rem;display:flex}.my-groups-section,.access-log-section{margin-top:1.5rem}.notification-settings,.my-sports{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.my-sports .attachment-hint{margin-bottom:.6rem}button.discipline-chip{cursor:pointer;padding:.4rem .9rem}.notification-settings-status{margin:0 0 .5rem;font-size:.9rem}.notification-settings-device{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.notification-settings-types{border:none;flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;display:flex}.notification-settings-types legend{color:var(--muted);margin-bottom:.5rem;font-size:.9rem}.access-log-intro,.access-log-empty{color:var(--muted);font-size:.9rem}.access-log-list{margin:.5rem 0;padding:0;list-style:none}.access-log-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.15rem 1rem;padding:.5rem 0;font-size:.9rem;display:flex}.access-log-list time{color:var(--muted);white-space:nowrap}.access-log-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.access-log-summary p{margin:0;font-size:.9rem}.access-log-summary-label,.access-log-summary time{color:var(--muted)}.dashboard-nav{margin-bottom:1rem}.dashboard-nav a{color:var(--accent);text-decoration:underline}.calendar{border:1px solid var(--border);background:var(--surface);border-radius:18px;margin-bottom:1.5rem;padding:0;overflow:hidden;box-shadow:0 10px 30px #0000000f}.calendar-nav{background:linear-gradient(135deg, var(--accent), var(--accent-2));justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;display:flex}.calendar-nav button{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1rem;transition:background .12s,transform .12s;display:flex}.calendar-nav button:hover{background:#ffffff4d;transform:translateY(-1px)}.calendar-month-label{color:#fff;text-transform:capitalize;font-size:1.05rem;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;padding:0 1rem;display:grid}.calendar-grid:last-of-type{padding-bottom:1rem}.calendar-weekdays{margin-top:1rem;margin-bottom:2px}.calendar-weekday{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:.2rem 0;font-size:.72rem;font-weight:700}.calendar-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--background);color:inherit;cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:.3rem .2rem;font-size:.85rem;transition:border-color .12s,background .12s,transform .12s,box-shadow .12s;display:flex;overflow:hidden}.calendar-cell:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.calendar-cell-empty{cursor:default;pointer-events:none;box-shadow:none;background:0 0;border:none}.calendar-cell-today{border-color:var(--accent);border-width:2px}.calendar-cell-today .calendar-day-number{color:var(--accent);font-weight:700}.calendar-cell-present{background:var(--day-good);border-color:var(--good)}.calendar-cell-absent{background:var(--day-bad);border-color:var(--bad)}.calendar-cell-pending{background:linear-gradient(135deg, var(--day-good) 50%, var(--day-warn) 50%);border-color:var(--good) var(--warn) var(--warn) var(--good)}.calendar-cell-absent-pending{background:linear-gradient(135deg, var(--day-bad) 50%, var(--day-warn) 50%);border-color:var(--bad) var(--warn) var(--warn) var(--bad)}.calendar-cell-selected{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 12px #2a8d8059}.calendar-cell-selected .calendar-day-number{color:#fff;font-weight:700}.calendar-day-number{font-size:.85rem}.calendar-session-dots{flex-wrap:wrap;justify-content:center;gap:3px;max-width:100%;display:flex}.calendar-dot{background:var(--muted);border-radius:50%;width:6px;height:6px}.calendar-dot-present{background:var(--good);box-shadow:0 0 0 2px var(--good-soft)}.calendar-dot-absent{background:var(--bad);box-shadow:0 0 0 2px var(--bad-soft)}.calendar-dot-pending{background:var(--warn);box-shadow:0 0 0 2px var(--warn-soft)}.calendar-cell-selected .calendar-dot-present,.calendar-cell-selected .calendar-dot-absent,.calendar-cell-selected .calendar-dot-pending{box-shadow:0 0 0 2px #ffffff80}.calendar-dot-none{background:var(--muted)}.calendar-dot-competition{background:var(--competition);box-shadow:0 0 0 2px var(--competition-soft)}.calendar-cell-competition{border-color:var(--competition);box-shadow:inset 0 -3px 0 var(--competition)}.calendar-legend-swatch.calendar-cell-competition{background:var(--competition-soft);box-shadow:none}.competition-tag{color:var(--competition);background:var(--competition-soft);border-radius:999px;margin-right:.4rem;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.session-list-item-competition{border-color:var(--competition)}.athlete-competition-item .link-button{margin-top:.3rem}.athlete-competition-meta{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.create-kind-tabs{margin-bottom:1rem}.discipline-chips{flex-wrap:wrap;gap:.35rem;display:inline-flex}.diary-form label.discipline-chip,label.discipline-chip{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;padding:.3rem .75rem;font-size:.82rem;display:inline-flex;position:relative}.discipline-fieldset,.coach-competition-participants{border:1.5px solid var(--border-strong);border-radius:10px;margin:0;padding:.6rem .8rem}.discipline-fieldset legend,.coach-competition-participants legend{color:var(--muted);padding:0 .3rem;font-size:.9rem;font-weight:600}.coach-competition-participants .injury-search-input{width:100%;margin-bottom:.5rem}.coach-competition-athletes{flex-direction:column;gap:.35rem;max-height:45vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.coach-competition-athletes li{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;padding:.35rem .5rem;display:flex}.coach-competition-athletes li.is-on{border-color:var(--accent);background:var(--accent-soft)}.diary-form label.coach-competition-athlete{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;font-size:.95rem}.coach-competition-heading-row{justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0 .5rem;display:flex}.modal .coach-competition-heading{margin:0;font-size:1rem}.coach-competition-participants .attachment-hint{margin:0 0 .5rem}.modal .coach-competition-athletes,.modal .coach-competition-results,.modal .coach-competition-rounds{margin:0;padding:0;list-style:none}.coach-competition-results{flex-direction:column;gap:.5rem;display:flex}.coach-competition-results>li{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.55rem .75rem}.coach-competition-results-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.coach-competition-athlete-link{color:var(--accent);font-weight:600}.coach-competition-disciplines{flex-wrap:wrap;gap:.25rem;display:inline-flex}.coach-competition-rounds li{justify-content:space-between;gap:.5rem;margin-top:.3rem;font-size:.88rem;display:flex}.coach-competition-no-results{color:var(--muted);margin-top:.3rem;font-size:.82rem;display:block}.competition-score-total{font-weight:700}.modal .competition-coach-note{color:var(--muted);font-size:.85rem}.session-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.session-list-item{background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .4rem .3rem .8rem;display:flex}.session-list-item:hover{box-shadow:0 2px 8px #2a8d8026}.session-list-item-main{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.95rem;display:flex}.session-list-name{align-items:center;gap:.5rem;font-weight:600;display:flex}.session-group-tag{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.session-type-tag{color:var(--muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.group-filter-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.coach-calendar-layout{margin-top:.75rem}.coach-calendar-side-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.coach-calendar-side-head h2,.coach-calendar-upcoming h2{margin:0 0 .5rem;font-size:1rem}.group-filter-tab{align-items:center;gap:.45rem;display:inline-flex}.group-filter-count{opacity:.75;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.coach-calendar-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.coach-calendar-title h1{margin-bottom:0}.coach-calendar-group-select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .75rem center, linear-gradient(135deg, var(--accent), var(--accent-2));appearance:none;color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:none;border-radius:999px;min-width:0;max-width:55%;padding:.4rem 2rem .4rem .85rem;font-size:.9rem;font-weight:600;overflow:hidden;box-shadow:0 2px 8px #2a8d8040}.group-picker-chips .training-type-chip{cursor:pointer;margin-bottom:.2rem;padding:.4rem .9rem}.group-picker-chips{margin-bottom:1rem}.coach-calendar-groups{display:none}.coach-calendar-upcoming{margin-top:1.5rem}.upcoming-session-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.upcoming-session{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .75rem;display:flex}.upcoming-session:hover{border-color:var(--accent)}.upcoming-session-when{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.upcoming-session-what{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}@media (min-width:900px){.coach-calendar-layout{grid-template:"main groups""main upcoming"1fr/minmax(0,1fr) 260px;align-items:start;column-gap:1.5rem;display:grid}.coach-calendar-main{grid-area:main}.coach-calendar-group-select{display:none}.coach-calendar-groups{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-area:groups;padding:.9rem;display:block}.coach-calendar-groups .group-filter-tabs{flex-flow:column;max-height:18rem;margin-bottom:0;padding-bottom:0;overflow:visible auto}.coach-calendar-groups .group-filter-tab{text-align:left;border-radius:10px;justify-content:space-between;width:100%}.coach-calendar-upcoming{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-area:upcoming;margin-top:1rem;padding:.9rem}}.group-filter-tab{border:1px solid var(--border);background:var(--background);color:var(--muted);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.group-filter-tab:hover{border-color:var(--accent)}.group-filter-tab.active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000}.session-list-count{color:var(--muted);font-size:.8rem}.attendance-empty-note{color:var(--muted);margin:0;font-size:.85rem}.create-session-form{flex-direction:column;gap:.75rem;display:flex}.session-time-row{grid-template-columns:1fr 1fr;align-items:start;gap:.75rem;display:grid}@media (max-width:420px){.session-time-row{grid-template-columns:1fr}}.create-session-form label{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.create-session-form input,.create-session-form select{border:1px solid var(--border-strong);background:var(--background);border-radius:6px;padding:.4rem .5rem;font-size:1rem}.create-session-form input[type=checkbox]{width:auto}.time-picker{flex-direction:column;gap:.4rem;display:flex}.create-session-form .time-picker-field{cursor:pointer;caret-color:#0000;font-variant-numeric:tabular-nums}.time-picker-panel{border:1px solid var(--border);background:var(--background);border-radius:10px;flex-direction:column;gap:.5rem;padding:.5rem;display:flex;box-shadow:0 6px 20px #0000001f}.time-picker-columns{gap:.5rem;display:flex}.time-picker-column{overscroll-behavior:contain;flex-direction:column;flex:1;gap:2px;max-height:11rem;display:flex;position:relative;overflow-y:auto}.time-picker-cell{color:var(--foreground);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.4rem 0;font-size:1rem}.time-picker-cell:hover{background:var(--accent-soft)}.time-picker-cell.is-on{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;font-weight:700}.time-picker-actions{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.create-session-form .role-option{flex-direction:row;align-items:center;gap:.5rem}.create-session-form .add-coach-actions{flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.4rem}.create-session-form .add-coach-actions button{text-align:center;justify-content:center}.training-type-picker{border:1.5px solid var(--border-strong);border-radius:10px;flex-wrap:wrap;gap:.6rem 1rem;margin:0;padding:.6rem .8rem;display:flex}.training-type-picker legend{color:var(--muted);padding:0 .3rem;font-size:.9rem;font-weight:600}.training-type-chips{flex-wrap:wrap;gap:.4rem;width:100%;display:flex}.training-type-chip{border:1.5px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);color:var(--accent);border-radius:999px;align-items:center;font-size:.88rem;font-weight:600;transition:border-color .15s,box-shadow .15s;display:inline-flex}.training-type-chip:hover{border-color:var(--accent)}.training-type-chip.is-on{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000;box-shadow:0 2px 8px #2a8d8040}.create-session-form .training-type-chip label{font-size:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:0;padding:.35rem .3rem .35rem .8rem}.training-type-chip input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.training-type-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.training-type-chip-remove{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;padding:0 .6rem 0 .1rem;font-size:1rem;line-height:1}.training-type-chip-remove:hover{opacity:1}.training-type-new{gap:.5rem;width:100%;display:flex}.training-type-new input{flex:1;min-width:0}.edit-session-panel{flex-direction:column;gap:.9rem;display:flex}.scope-confirm{flex-direction:column;gap:.75rem;max-width:320px;display:flex}.scope-confirm-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.athlete-session-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.athlete-session-item{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.4rem;padding:.5rem .75rem;display:flex}.athlete-session-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.athlete-session-time{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.athlete-absence-note{font-size:.85rem}.athlete-absence-note p{margin:0 0 .3rem}.attendance-status-badge{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.8rem}.athlete-session-present .attendance-status-badge{background:var(--good-soft);border-color:var(--good);color:var(--good)}.attendance-status-upcoming{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.attendance-status-absent{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.modal-backdrop{padding:var(--modal-gap-top) 0 var(--modal-gap-bottom);z-index:220;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--background);color:var(--foreground);--modal-pad-bottom:20px;padding:0 24px var(--modal-pad-bottom);width:92vw;max-width:520px;max-height:calc(100vh - var(--modal-gap-top) - var(--modal-gap-bottom));max-height:calc(100dvh - var(--modal-gap-top) - var(--modal-gap-bottom));border-radius:12px;position:relative;overflow:auto;box-shadow:0 10px 40px #00000040}@media (max-width:600px){.modal{--modal-pad-bottom:14px;padding:0 16px var(--modal-pad-bottom)}}.modal p,.modal li,.modal span,.modal div,.modal h1,.modal h2,.modal h3,.modal h4,.modal a,.modal strong,.modal label,.modal button{overflow-wrap:break-word;word-break:break-word}.modal p{margin-bottom:.6rem}.entry-detail-actions{border-top:1px solid var(--border);align-items:center;gap:1rem;margin-top:.75rem;padding-top:.75rem;display:flex}.entry-delete-confirm{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.modal ul{margin-bottom:.6rem;padding-left:1.2rem}.modal .access-log-list,.modal .attachment-list{padding-left:0}.modal-wide{max-width:640px}.modal-backdrop:has(>.modal-fullscreen){--modal-fullscreen-top:12px;--modal-fullscreen-bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:var(--modal-fullscreen-top) 0 var(--modal-fullscreen-bottom)}.modal-fullscreen{width:98vw;max-width:98vw;height:calc(100vh - var(--modal-fullscreen-top,var(--modal-gap-top)) - var(--modal-fullscreen-bottom,var(--modal-gap-bottom)));height:calc(100dvh - var(--modal-fullscreen-top,var(--modal-gap-top)) - var(--modal-fullscreen-bottom,var(--modal-gap-bottom)));max-height:calc(100dvh - var(--modal-fullscreen-top,var(--modal-gap-top)) - var(--modal-fullscreen-bottom,var(--modal-gap-bottom)));border-radius:14px;flex-direction:column;padding:16px 20px 0;display:flex;overflow:hidden}.modal-header{background:var(--background);z-index:5;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-top:20px;padding-bottom:2px;display:flex;position:sticky;top:0}.modal-header h2{min-width:200px;color:var(--foreground);overflow-wrap:break-word;word-break:break-word;flex:1;margin:0;font-size:1rem}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attendance-summary{color:var(--muted);white-space:nowrap;font-size:.85rem}.close-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:1.3rem}.close-btn:hover{color:var(--foreground);background:var(--surface)}.children-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:8px;padding:4px 2px;display:grid;overflow-y:auto}.child-card{background:var(--bad-soft);color:var(--foreground);cursor:pointer;border:2px solid #fc8181;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:70px;padding:10px 8px;transition:background .15s,border-color .15s,transform .1s;display:flex;position:relative}.child-card:hover{transform:scale(1.03)}.child-card.present{background:var(--good-soft);border-color:#68d391}.child-card-editing{cursor:default}.card-name{text-align:center;word-break:break-word;color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.82rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.card-name-wrap{flex-direction:column;align-items:center;max-width:100%;display:flex}.card-actions{gap:6px;display:flex;position:absolute;bottom:5px;right:6px}.card-icon-btn{cursor:pointer;min-width:22px;min-height:22px;color:var(--muted);background:#00000014;border:none;border-radius:4px;padding:3px 6px;font-size:.78rem}.card-icon-btn:hover{color:var(--accent);background:var(--accent-soft)}.card-icon-btn.danger:hover{color:var(--bad);background:var(--bad-soft)}.page-intro{color:var(--muted);max-width:640px;margin:.35rem 0 1.25rem;font-size:.92rem}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:.3rem .55rem;margin:-.75rem 0 1.5rem;padding:0;font-size:.74rem;list-style:none;display:flex}.calendar-legend li{white-space:nowrap;align-items:center;gap:.25rem;display:flex}.calendar-legend-swatch{border-style:solid;border-width:1px;border-radius:4px;flex-shrink:0;width:12px;height:12px}@media (min-width:900px){.side-layout{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"title side""main side";align-items:start;column-gap:1.5rem;display:grid}.side-layout-title{grid-area:title}.side-layout-main{grid-area:main}.side-layout .side-layout-side{grid-area:side;margin-top:0}.side-layout-side .section-heading-row{align-items:center;min-height:2.3rem;margin-top:0}.side-layout-side .section-heading-row h2{margin:0}.side-layout-no-title{grid-template-areas:"main side"}.side-layout-side .competition-list{grid-template-columns:1fr}}.stretch-overview-note{color:var(--muted);margin:0 0 .75rem;font-size:.85rem}.stretch-overview-stale{color:var(--warn)}.stretch-overview-list{flex-direction:column;gap:.6rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.stretch-overview-row{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:12px;grid-template-columns:1fr auto auto;grid-template-areas:"name spark value""meta meta meta";align-items:center;gap:.25rem .6rem;padding:.7rem .9rem;text-decoration:none;display:grid}.stretch-overview-row:hover{border-color:var(--accent)}.stretch-overview-name{grid-area:name;font-weight:600}.stretch-sparkline{width:64px;height:22px;stroke:var(--accent);grid-area:spark}.stretch-overview-value{color:var(--accent);white-space:nowrap;grid-area:value;font-size:1.25rem;font-weight:800}.stretch-overview-meta{flex-wrap:wrap;grid-area:meta;justify-content:space-between;gap:.25rem .75rem;font-size:.8rem;display:flex}.stretch-overview-record{color:var(--muted)}.stretch-change{font-weight:700}.stretch-change-up{color:var(--good)}.stretch-change-down{color:var(--bad)}.stretch-change-flat{color:var(--muted)}.calendar-summary .stat-card{margin-bottom:1.5rem}@media (min-width:900px){.dashboard-calendar{max-width:920px}.calendar-with-summary{grid-template:"main card""main legend"1fr/minmax(0,1fr) 260px;align-items:start;column-gap:1.5rem;display:grid}.calendar-main{grid-area:main}.calendar-summary{grid-area:card}.calendar-with-summary .calendar-legend{flex-direction:column;grid-area:legend;margin:0;font-size:.85rem}.calendar-with-summary .calendar-legend-swatch{width:16px;height:16px}.calendar-summary .stat-card{min-height:200px}}.group-list{flex-direction:column;gap:.85rem;min-width:0;margin-top:1.25rem;display:flex}.group-card{border:2px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);border-radius:10px;min-width:0;padding:.6rem .75rem;transition:border-color .15s;overflow:hidden}.group-card:has(.group-card-title[aria-expanded=true]){border-color:var(--accent)}.group-card-header{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.group-card-title{cursor:pointer;color:var(--accent);text-align:left;overflow-wrap:break-word;word-break:break-word;background:0 0;border:none;align-items:center;gap:.4rem;min-width:0;padding:0;font-size:.88rem;font-weight:600;display:flex}.group-card-chevron{color:var(--accent);font-size:1rem;transition:transform .15s;display:inline-flex}.group-card-chevron.open{transform:rotate(90deg)}.group-card-count{min-width:20px;height:20px;color:var(--accent);background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.card-actions-static{flex-shrink:0;align-items:center;gap:.9rem;display:flex}.group-member-grid{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.group-member-grid .child-card{width:100%}.group-member-grid .picker-card{color:var(--accent);border:2px solid var(--border)!important;background:linear-gradient(135deg, var(--accent-soft), #fce8ef)!important}.group-member-grid .picker-card:hover{border-color:var(--accent)!important}.group-member-grid .child-card.present{color:#fff;box-shadow:0 3px 10px #2a8d804d;background:linear-gradient(135deg, var(--accent), var(--accent-2))!important;border:2px solid #0000!important}.group-member-grid .child-card .card-name{color:inherit}.group-member-section{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:.75rem;width:100%;min-width:0;margin-top:1rem;padding-top:1rem;display:flex}.member-row-list{flex-wrap:wrap;gap:.5rem;width:100%;min-width:0;margin-bottom:.75rem;display:flex}.member-row{border:2px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);border-radius:999px;align-items:center;gap:.5rem;min-width:0;max-width:100%;padding:.4rem .5rem .4rem .85rem;font-size:.85rem;font-weight:600;display:flex}.member-row-name{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.card-inline-edit-form{flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.card-inline-edit{border:1.5px solid var(--accent);text-align:center;background:var(--background);width:100%;min-width:0;max-width:100%;color:var(--foreground);text-overflow:ellipsis;box-sizing:border-box;border-radius:5px;padding:4px 6px;font-size:.8rem;overflow:hidden}.card-edit-actions{justify-content:center;gap:4px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:500;display:inline-flex}.btn-success{background:var(--good);color:#fff}.btn-brand{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff}.btn-danger{background:var(--bad);color:#fff}.btn-outline{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.btn-sm{padding:5px 10px;font-size:.82rem}.modal-sticky-footer{bottom:calc(-1 * var(--modal-pad-bottom));z-index:5;margin:12px 0 calc(-1 * var(--modal-pad-bottom));padding:12px 0 var(--modal-pad-bottom);border-top:1px solid var(--border);background:var(--background);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex;position:sticky}.modal-sticky-footer .attendance-unsaved,.modal-sticky-footer .session-plan-saved{margin-right:auto}.confirm-dialog-backdrop{z-index:230}.confirm-dialog{max-width:420px;padding-top:20px}.confirm-dialog h2{margin:0 0 .5rem;font-size:1.05rem}.confirm-dialog p{color:var(--muted);margin-bottom:1.2rem}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.modal-footer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;margin-top:8px;padding:12px 0 16px;display:flex}.add-child-row{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.add-child-row input{border:1px solid var(--border-strong);background:var(--background);text-overflow:ellipsis;border-radius:6px;flex:1;min-width:0;max-width:200px;padding:.4rem .5rem;font-size:1rem;overflow:hidden}.create-group-row input{max-width:none}.create-group-trigger{margin-left:auto}.footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.attendance-unsaved{color:var(--muted);font-size:.9rem}.diary-form{flex-direction:column;gap:.9rem;max-width:480px;margin-bottom:1.5rem;display:flex}.diary-form label{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.diary-form input[type=date],.diary-form input[type=text],.diary-form input[type=password],.diary-form input[type=email],.diary-form input[type=tel],.diary-form input[type=number],.diary-form input[type=url],.diary-form input:not([type]),.diary-form select{border:1px solid var(--border-strong);background:var(--background);color:var(--foreground);border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:1rem}.diary-form textarea{border:1px solid var(--border-strong);background:var(--background);resize:vertical;border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:1rem}.diary-positives{flex-direction:column;gap:.4rem;display:flex}.diary-private-note-label{flex-direction:column;gap:.15rem;display:flex}.diary-private-note-hint{color:var(--muted);font-size:.78rem;font-weight:400}.diary-form textarea[name=privateNote]{background:var(--accent-soft);border-color:var(--accent)}.diary-private-note{background:var(--accent-soft);border-radius:8px;padding:.6rem .75rem}.diary-private-note-care-note{color:var(--muted);margin:-.4rem 0 0;font-size:.78rem;line-height:1.4}.diary-private-note-care-note a{color:var(--accent)}.diary-rating{flex-direction:column;gap:.3rem;display:flex}.diary-rating-label{font-size:.9rem}.diary-effort-level-caption{color:var(--muted);font-weight:400}.diary-rating-stars{flex-wrap:wrap;gap:.3rem;display:flex}.diary-rating-star{width:2rem;height:2rem;color:var(--border-strong);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.4rem;line-height:1;display:inline-flex}.diary-rating-star-filled{color:#f6ad55}.diary-effort-levels{flex-wrap:wrap;gap:.3rem;display:flex}.diary-effort-level{border:1.5px solid var(--effort-color);background:var(--background);width:2rem;height:2rem;color:var(--effort-color);cursor:pointer;border-radius:50%;padding:0;font-size:.82rem;font-weight:700;transition:transform .1s}.diary-effort-level:hover{transform:scale(1.08)}.diary-effort-level-selected{background:var(--effort-color);color:#fff}.diary-positives-label{font-size:.9rem}.diary-positives input{border:1px solid var(--border-strong);background:var(--background);border-radius:6px;padding:.5rem .6rem;font-size:1rem}.diary-entry-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.diary-entry-item{width:100%;color:inherit;cursor:pointer;text-align:left;background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:6px;align-items:center;gap:1rem;padding:.6rem .8rem;font-size:.9rem;display:flex}.diary-entry-item:hover{box-shadow:0 2px 8px #2a8d8026}.diary-entry-date{white-space:nowrap;font-weight:600}.diary-entry-mood{white-space:nowrap}.diary-entry-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.diary-history{margin-top:1rem}.diary-history h2{margin-bottom:.75rem}.strength-add-exercise-row{margin-bottom:1rem}.athlete-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.athlete-picker-group-chips{margin-top:.75rem;margin-bottom:.75rem}.athlete-picker-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:1.25rem;display:grid}.athlete-picker-card{border:2px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);color:var(--accent);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-height:56px;padding:10px 8px;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:flex;position:relative}.athlete-picker-card:hover{border-color:var(--accent);transform:scale(1.03)}.athlete-picker-card-active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000;box-shadow:0 3px 10px #2a8d804d}.athlete-picker-card .card-name{color:inherit}.athlete-picker-grid-list{padding:0;list-style:none}.athlete-picker-grid-list .athlete-picker-card{padding:0}.card-name-toggle{width:100%;height:100%;min-height:56px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:10px 8px;display:flex}.card-name-toggle .pending-badge{margin-left:0}.roster-athlete-row .roster-athlete-badge{background:#fff9}.roster-athlete-badge-block{width:fit-content;margin:.3rem auto 0;display:block}.roster-contact-form{flex-direction:column;gap:.75rem;margin:.75rem 0;display:flex}.roster-contact-form label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.roster-contact-form input{border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.roster-merge-section{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.merge-suggestion-banner{border:2px solid var(--accent);background:var(--accent-soft);border-radius:10px;margin-top:.75rem;padding:.75rem .9rem}.merge-suggestion-banner p{margin:0 0 .6rem;font-size:.9rem}.category-picker{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.25rem;display:grid}.category-card{border:2px solid var(--border);background:var(--background);color:var(--foreground);border-radius:14px;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .4rem .45rem;display:flex;position:relative;box-shadow:0 4px 14px #00000014}.category-card-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 4px 14px #2a8d8040}.category-card-image{width:100%;height:50px;position:relative}.category-card-label{font-size:.82rem;font-weight:700}.category-card-active .category-card-label{color:var(--accent)}.athlete-tab{border:1px solid var(--border);color:var(--foreground);border-radius:999px;padding:.4rem .8rem;font-size:.9rem}.athlete-tab:hover{border-color:var(--accent)}.athlete-tab-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.tab-badge{background:var(--bad);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:.4rem;padding:0 5px;font-size:.7rem;font-weight:700;display:inline-flex}.body-part-picker{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.body-part-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.body-part-card{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;transition:border-color .15s,transform .1s;display:flex}.body-part-card:hover,.body-part-card:focus-visible{border-color:var(--accent);transform:scale(1.03)}.body-part-card img{object-fit:cover;border-radius:8px;width:64px;height:64px}.body-part-card span{text-align:center;font-size:.82rem;font-weight:600}.body-part-selected{border:1px solid var(--border);background:var(--background);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:.75rem;width:fit-content;max-width:100%;padding:.6rem .8rem;display:flex}.body-part-selected img{object-fit:cover;border-radius:8px;flex-shrink:0;width:44px;height:44px}.body-part-selected span:first-of-type{flex:1;font-weight:600}.body-part-change{color:var(--accent);font-size:.82rem;text-decoration:underline}@media (max-width:480px){.body-part-grid{grid-template-columns:repeat(3,1fr)}}.discipline-picker{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.85rem;margin-bottom:1.25rem;display:grid}.discipline-picker-single{grid-auto-columns:minmax(0,calc(33.3333% - .566667rem))}.discipline-card{border:2px solid var(--border);background:var(--background);color:var(--foreground);border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .6rem .6rem;display:flex;position:relative;box-shadow:0 4px 14px #00000014}.discipline-card-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 4px 14px #2a8d8040}.discipline-card-image{width:100%;height:80px;position:relative}.discipline-card-label{font-size:.9rem;font-weight:700}.discipline-card-active .discipline-card-label{color:var(--accent)}.checklist-header-row{justify-content:space-between;align-items:center;margin:1rem 0 .4rem;padding:0 .8rem;display:flex}.checklist-shapes-legend{gap:.5rem!important}.checklist-shapes-legend span{justify-content:center;align-items:center;width:28px;display:flex}.checklist-shapes-legend img{opacity:.85;border-radius:4px}.checklist-list{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.checklist-row{background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .8rem;padding:.6rem .8rem;display:flex}.checklist-row-delete{font-size:.8rem}.checklist-row-name{flex:1;align-items:center;gap:.5rem;min-width:0;font-size:.9rem;display:flex}.checklist-row-name span,.checklist-row-name-btn{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.checklist-row-name-btn{font:inherit;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.checklist-row-name-btn:hover{text-decoration:underline}.checklist-personal-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.1rem .5rem;font-size:.7rem}.checklist-difficulty-grid{flex-wrap:wrap;gap:.6rem 1rem;margin-top:.4rem;font-size:.9rem;display:flex}.checklist-difficulty-inputs{gap:.6rem;display:flex}.checklist-difficulty-inputs label{color:var(--muted);flex-direction:column;flex:1;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.checklist-difficulty-inputs input{width:100%}.checklist-row-shapes{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.checklist-delete-icon-btn{width:32px;height:32px;color:var(--bad);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .12s;display:flex}.checklist-delete-icon-btn:hover{background:var(--bad-soft)}.checklist-edit-icon-btn{width:32px;height:32px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .12s;display:flex}.checklist-edit-icon-btn:hover{background:var(--accent-soft)}.checklist-row-delete{border-top:1px solid var(--border);text-align:right;flex-basis:100%;padding-top:.5rem}.checklist-shape-btn{border:1.5px solid var(--border-strong);background:var(--background);width:46px;height:46px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.checklist-shape-btn img{object-fit:contain;width:34px;height:34px}.checklist-shape-btn img.checklist-shape-img-straight{width:auto;max-width:none;height:42px}.checklist-shape-btn:disabled{cursor:default}.checklist-shape-done{border-color:var(--good);color:var(--good);box-shadow:0 0 0 2px var(--good-soft);background:#6fcf97}.checklist-add-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.competition-detail-actions-row{flex-wrap:wrap;gap:.6rem;display:flex}.checklist-add-note{color:var(--muted);margin-bottom:.2rem;font-size:.85rem}.checklist-add-note-warning{color:var(--bad)}.visually-hidden-radio{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.competition-list{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.competition-list{grid-template-columns:1fr 1fr}}.day-view-list{grid-template-columns:1fr!important}.competition-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;padding:1rem 1.2rem}.competition-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.competition-card-header>div{min-width:0}.competition-card-header h3{overflow-wrap:break-word;word-break:break-word;margin:0;font-size:1.05rem}.competition-card-meta{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.competition-status{background:var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.75rem}.competition-status-upcoming{background:var(--accent-soft);color:var(--accent)}.competition-result-list{grid-template-columns:1fr;gap:.75rem;margin-bottom:.75rem;display:grid}@media (min-width:480px){.competition-result-list{grid-template-columns:1fr 1fr}}.competition-result-card{border:1px solid var(--border);background:var(--background);border-radius:8px;min-width:0;padding:.75rem .9rem}.competition-result-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.competition-result-discipline{font-size:.9rem;font-weight:600}.competition-result-round{color:var(--muted);font-size:.8rem}.competition-result-creator{color:var(--muted);margin-bottom:.5rem;font-size:.78rem;display:block}.competition-partner-name{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0 0 .85rem;padding:.55rem .8rem;font-size:.9rem;display:flex}.competition-partner-form{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 .85rem;display:flex}.competition-partner-input{border:1px solid var(--border-strong);background:var(--background);min-width:140px;color:var(--foreground);border-radius:8px;flex:1;padding:.5rem .7rem;font-family:inherit;font-size:1rem}.competition-partner-input:focus{outline:2px solid var(--accent);outline-offset:1px}.competition-element-list{counter-reset:element-counter;flex-direction:column;gap:.25rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.competition-element-list li{background:var(--surface);border-radius:6px;justify-content:flex-start;align-items:center;gap:.6rem;min-width:0;padding:.3rem .5rem;font-size:.85rem;display:flex}.competition-element-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.competition-element-list li:before{counter-increment:element-counter;content:counter(element-counter) ". ";color:var(--muted);margin-right:.3rem}.competition-element-shape-img{object-fit:contain;border-radius:6px;flex-shrink:0}.competition-score-grid{color:var(--muted);flex-wrap:wrap;gap:.6rem 1rem;font-size:.85rem;display:flex}.competition-comments{color:var(--muted);margin-top:.5rem;font-size:.85rem}.competition-element-row{align-items:center;gap:.5rem;display:flex}.competition-element-index{color:var(--muted);flex-shrink:0;width:1.4rem;font-size:.8rem}.competition-element-name{border:1px solid var(--border-strong);background:var(--background);border-radius:6px;flex:1;min-width:0;padding:.4rem .5rem;font-size:.9rem}.strength-result-list{flex-direction:column;gap:.25rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.strength-result-list li{background:var(--surface);border-radius:6px;justify-content:space-between;padding:.3rem .5rem;font-size:.85rem;display:flex}.strength-result-value{font-weight:600}.strength-result-actions{align-items:center;gap:.6rem;font-size:.8rem;display:flex}.strength-result-edit-row{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:.5rem}.stretch-card{background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:1.5px solid #0000;flex-direction:column;gap:.6rem;display:flex}.stretch-card .add-coach-form{max-width:none}.strength-set-box-row{flex-wrap:wrap;gap:.5rem;display:flex}.strength-set-box{border:1.5px solid var(--border-strong);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:999px;padding:.5rem .9rem;font-size:.85rem;font-weight:600}.strength-set-box:hover{border-color:var(--accent);color:var(--accent)}.strength-set-box-add{color:var(--accent);border-style:dashed}.stretch-visual-row{align-items:center;gap:1rem;display:flex}.flexibility-svg{width:100px;height:70px;color:var(--accent);flex-shrink:0}.stretch-angle-value{color:var(--foreground);font-size:1.6rem;font-weight:700}.stretch-card input[type=range]{appearance:none;background:0 0;width:100%;height:20px;margin:0;padding:0}.stretch-card input[type=range]::-webkit-slider-runnable-track{background:var(--track-fill);border-radius:999px;height:6px}.stretch-card input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--background);width:18px;height:18px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin-top:-6px}.stretch-card input[type=range]::-moz-range-track{background:var(--track-fill);border-radius:999px;height:6px}.stretch-card input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--background);width:18px;height:18px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.stretch-card input[type=range]:disabled{cursor:default}.stretch-save-all{flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1.5rem;display:flex}.stretch-save-actions{margin-top:1rem}.goal-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.goal-list-row{flex-direction:column;display:flex}.goal-card{width:100%;color:inherit;cursor:pointer;text-align:left;background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:12px;align-items:center;gap:.75rem;padding:.7rem .9rem;font-size:.9rem;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex}.goal-card:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.goal-card-checkbox{flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.goal-card-checkbox input{width:1.35rem;height:1.35rem;accent-color:var(--accent);cursor:pointer}.goal-title-completed{color:var(--muted);text-decoration:line-through}.stat-card-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0 1.5rem;display:grid}.stat-card{background-position:50%;background-size:cover;border-radius:20px;align-items:flex-end;min-height:150px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000002e}.stat-card-overlay{background:linear-gradient(#00000005 0%,#0000004d 55%,#000000c7 100%);position:absolute;inset:0}.stat-card-content{z-index:1;color:#fff;width:100%;padding:.85rem 1rem 1rem;position:relative}.stat-card-label{text-shadow:0 1px 4px #0009;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:block}.stat-card-numbers{gap:1.25rem;display:flex}.stat-card-number-block{flex-direction:column;align-items:flex-start;display:flex}.stat-card-number{text-shadow:0 2px 6px #000000b3;font-size:2rem;font-weight:800;line-height:1}.stat-card-number-good{color:#9ae6b4}.stat-card-number-bad{color:#feb2b2}.stat-card-number-caption{text-shadow:0 1px 4px #0009;opacity:.95;font-size:.72rem;font-weight:600}.chart-card-grid{flex-direction:column;gap:1rem;display:flex}.chart-card{background-position:50%;background-size:cover;background-color:var(--surface);border-radius:20px;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000001f}.chart-card-diary{background-image:url(/images/mood.png)}.chart-card-injury{background-image:url(/images/injuries.png);background-position:50% 30%}.chart-card-checklist{background-image:url(/images/checklist.png);background-position:50% 30%}.checklist-progress-row{margin-bottom:.75rem}.checklist-progress-row:last-child{margin-bottom:0}.checklist-progress-row-header{color:var(--foreground);justify-content:space-between;align-items:baseline;margin-bottom:.3rem;font-size:.85rem;font-weight:700;display:flex}.checklist-progress-count{color:var(--muted);font-size:.78rem;font-weight:600}.checklist-progress-track{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.checklist-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%}.chart-card-strength{background-image:url(/images/strenghttraining.png);background-position:50% 100%}.chart-card-title{z-index:1;color:#fff;text-shadow:0 1px 5px #0000008c;margin:0;padding:1rem 1.2rem .6rem;font-size:1.05rem;font-weight:800;position:relative}.chart-chips{flex-wrap:wrap;gap:.35rem;margin:.2rem 0 .4rem;display:flex}.chart-chip{border:1px solid var(--border-strong);color:var(--foreground);cursor:pointer;box-shadow:none;background:#fff;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;font-weight:600}.chart-chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.chart-card-note{color:var(--muted);margin:.1rem 0 0;font-size:.75rem}.chart-card-subtitle{color:var(--foreground);margin:.6rem 0 .2rem;font-size:.82rem;font-weight:700}.chart-card-body{z-index:1;background:#fff;border-radius:14px;flex-direction:column;gap:.2rem;margin:0 .7rem .7rem;padding:.9rem .6rem .5rem;display:flex;position:relative}.chart-card-empty{color:var(--muted);margin:0;font-size:.9rem}.stats-view-tabs{margin-bottom:1rem}.date-range-picker{background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.25rem;padding:.75rem .9rem;display:flex}.date-range-picker label{flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.date-range-picker input[type=date]{border:1px solid var(--border-strong);background:var(--background);border-radius:6px;padding:.4rem .5rem;font-size:.9rem}.date-range-actions{align-items:center;gap:.75rem;display:flex}.leaderboard-list{flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.leaderboard-row{border:1px solid var(--border);background:var(--background);border-radius:10px;align-items:center;gap:.75rem;padding:.65rem .9rem;display:flex}.leaderboard-row:first-child{background:#fffaf0;border-color:#f6c453}.leaderboard-row:nth-child(2){background:#fafbfc;border-color:#c9ccd6}.leaderboard-row:nth-child(3){background:#fdf7f1;border-color:#dba97a}.leaderboard-rank{color:var(--muted);text-align:center;flex-shrink:0;width:1.6rem;font-size:1.05rem;font-weight:800}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.leaderboard-numbers{flex-shrink:0;align-items:center;gap:.6rem;font-size:.82rem;display:flex}.leaderboard-attended{color:var(--good);font-weight:600}.leaderboard-missed{color:var(--bad);font-weight:600}.leaderboard-rate{color:var(--muted);font-variant-numeric:tabular-nums}@media (max-width:480px){.stat-card-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.stat-card{min-height:130px}.stat-card-number{font-size:1.6rem}.leaderboard-numbers{flex-wrap:wrap;justify-content:flex-end}}.landing-logo{align-items:center;gap:.5rem;font-size:1.1rem;font-weight:800;display:flex}.landing-logo img{border-radius:8px}.landing-highlight{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.landing4{background:var(--background);justify-content:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.landing4-blob{filter:blur(60px);opacity:.35;z-index:0;border-radius:50%;position:absolute}.landing4-blob-1{background:var(--accent);width:420px;height:420px;top:-160px;left:-140px}.landing4-blob-2{background:var(--accent-2);width:380px;height:380px;bottom:-160px;right:-120px}.landing4-content{z-index:1;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:460px;padding:2.5rem 1.5rem 3rem;display:flex;position:relative}.landing4-logo{margin-bottom:2rem}.landing4-heading{margin-bottom:.75rem;font-size:2rem;line-height:1.2}.landing4-subheading{color:var(--muted);max-width:360px;margin:0 0 2rem;font-size:1rem}.landing4-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:100%;padding:1.5rem;box-shadow:0 16px 40px #0000001a}.landing4-trust-strip{grid-template-columns:repeat(3,1fr);gap:1.5rem 1rem;width:100%;margin-top:2.5rem;display:grid}.landing4-trust-icon{color:var(--muted);flex-direction:column;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;display:flex}.landing4-trust-icon-img{border-radius:12px;width:40px;height:40px;position:relative;overflow:hidden;box-shadow:0 3px 10px #0000001f}.landing4-trust-icon-img img{object-fit:cover}.landing2-tabs{background:var(--background);border:1px solid var(--border);border-radius:999px;margin-bottom:1.25rem;padding:.25rem;display:flex}.landing2-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:.5rem .75rem;font-size:.9rem;font-weight:700;transition:background .12s,color .12s,box-shadow .12s}.landing2-tab.active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 4px 14px #2a8d8059}.landing2-form{gap:.75rem}@media (min-width:640px){.landing4-heading{font-size:2.4rem}.landing4-content{padding:3.5rem 1.5rem 4rem}}@media (min-width:900px){.landing4-content{max-width:620px;padding-top:5rem}.landing4-card{padding:2rem}.landing4-trust-strip{grid-template-columns:repeat(6,1fr);max-width:560px}}.injury-list-row{display:flex}.injury-list-row .injury-card{flex:1;min-width:0}.injury-status-active{color:var(--bad);font-weight:600}.injury-status-recovered{color:var(--good);font-weight:600}.injury-item-recovered{opacity:.65}.injury-summary-row{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.injury-summary-card{border-radius:12px;flex-direction:column;gap:.2rem;padding:.75rem 1rem;display:flex}.injury-summary-active{background:var(--bad-soft)}.injury-summary-recovered{background:var(--good-soft)}.injury-summary-label{font-size:.85rem;font-weight:600}.injury-summary-active .injury-summary-label{color:var(--bad)}.injury-summary-recovered .injury-summary-label{color:var(--good)}.injury-summary-count{font-size:1.6rem;font-weight:700}.injury-summary-active .injury-summary-count{color:var(--bad)}.injury-summary-recovered .injury-summary-count{color:var(--good)}.stat-card-type-row{border-top:1px solid #ffffff40;flex-wrap:wrap;gap:.3rem .6rem;margin-top:.5rem;padding-top:.45rem;display:flex}.stat-card-type-item{color:#fff;text-shadow:0 1px 4px #0009;opacity:.9;font-size:.72rem;font-weight:600}@media (max-width:600px){.injury-add-btn{justify-content:center;width:100%}}.list-toolbar{flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin:1rem 0;display:flex}.injury-filters{flex:1;min-width:0;position:relative}.checklist-filters{margin-bottom:.75rem}.injury-filters-toggle{border:1px solid var(--border-strong);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.88rem;font-weight:600;display:inline-flex}.injury-filters-toggle:hover{border-color:var(--accent)}.injury-filters-toggle-active{border-color:var(--accent);color:var(--accent)}.injury-filters-icon{width:16px;height:16px;color:var(--accent);flex-shrink:0}.injury-filters-count{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.2rem;height:1.2rem;padding:0 .3rem;font-size:.72rem;font-weight:700;display:inline-flex}.injury-filters-panel{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:.6rem;min-width:280px;padding:.75rem;display:flex;position:absolute;top:calc(100% + .5rem);left:0;right:0;box-shadow:0 8px 24px #0000001f}.injury-search-input{border:1px solid var(--border-strong);background:var(--background);width:100%;color:var(--foreground);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.athlete-search-input{margin:.85rem 0 1.1rem}.section-heading-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.section-heading-row h1,.section-heading-row h2{margin:0}.icon-toggle-btn{width:28px;height:28px;color:var(--accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-toggle-btn svg{width:18px;height:18px}.icon-toggle-btn:hover{color:var(--accent-2)}.icon-toggle-btn-raised{margin-top:-4px}.competition-back-btn{margin-bottom:.85rem;display:inline-block}.competition-detail-sticky-nav{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.6rem}.competition-detail-sticky-nav-top{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.competition-detail-sticky-nav .competition-back-btn{margin-bottom:0}.competition-detail-back-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.injury-bodypart-chips{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.injury-bodypart-chip{border:1px solid var(--border-strong);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:999px;padding:.35rem .8rem;font-size:.82rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.injury-bodypart-chip:hover{border-color:var(--accent)}.injury-bodypart-chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.injury-sort-select{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.injury-sort-select select{color:var(--foreground);border:1px solid var(--border-strong);background:var(--background);border-radius:8px;padding:.4rem .6rem;font-size:.9rem;font-weight:600}.injury-card-list{flex-direction:column;gap:.6rem;padding:0;list-style:none;display:flex}.injury-card{width:100%;color:inherit;cursor:pointer;text-align:left;background-image:linear-gradient(135deg, var(--accent-soft), #fce8ef), linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, white), color-mix(in srgb, var(--accent-2) 45%, white));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:12px;align-items:center;gap:.75rem;padding:.7rem .9rem;font-size:.9rem;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex}.injury-card:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.injury-card-icon{background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex;overflow:hidden}.injury-card-icon img{object-fit:cover;width:100%;height:100%}.injury-card-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.injury-card-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.injury-card-date{color:var(--muted);white-space:nowrap;font-size:.82rem}.injury-status-badge{border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-size:.8rem;font-weight:600}.injury-status-badge-active{background:var(--bad-soft);color:var(--bad)}.injury-status-badge-recovered{background:var(--good-soft);color:var(--good)}.roster-athlete-badge{color:var(--muted);background:var(--border);border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.roster-card-badge{color:var(--muted);font-size:.75rem;font-weight:600}.guest-card-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;width:fit-content;padding:.05rem .4rem;font-size:.68rem;font-weight:700;position:absolute;bottom:5px;left:6px}.guest-remove-btn{position:absolute;top:5px;right:6px}.guest-picker-form{flex-direction:column;gap:.5rem;max-width:320px;display:flex}.guest-picker-search{position:relative}.guest-picker-search input{border:1px solid var(--border-strong);background:var(--background);border-radius:8px;width:100%;padding:.55rem .7rem;font-size:.95rem}.guest-picker-results{z-index:5;border:1px solid var(--border);background:var(--surface);border-radius:8px;max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #0000001f}.guest-picker-results li button{text-align:left;width:100%;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .6rem;font-size:.9rem;display:block}.guest-picker-results li button:hover{background:var(--accent-soft);color:var(--accent)}.guest-picker-empty{color:var(--muted);margin:.3rem 0 0;font-size:.85rem}.delay-camera{flex-direction:column;gap:1.25rem;display:flex}.delay-camera-start{flex-direction:column;gap:1.1rem;display:flex}.delay-camera-buffer-picker{flex-direction:column;gap:.5rem;display:flex}.delay-camera-buffer-options{gap:.6rem;display:flex}.delay-camera-buffer-option{border:1.5px solid var(--border-strong);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:10px;flex:1;padding:.6rem .5rem;font-weight:600}.delay-camera-buffer-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.delay-camera-view{flex-direction:column;gap:1rem;display:flex}.delay-camera-video-wrap{aspect-ratio:9/16;background:#000;border-radius:16px;width:100%;max-height:70dvh;margin:0 auto;position:relative;overflow:hidden}.delay-camera-video-placeholder{justify-content:center;align-items:center;display:flex}.delay-camera-video{object-fit:cover;background:#000;width:100%;height:100%}.delay-camera-badge{color:#fff;background:#0000008c;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;position:absolute;top:.75rem;left:.75rem}.delay-camera-badge-replay{background:var(--accent)}.delay-camera-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.delay-camera-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.delay-camera-header h1{margin:0}.delay-camera-icon-btn{border:1.5px solid var(--border-strong);background:var(--background);width:2.75rem;height:2.75rem;color:var(--accent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;font-size:1.15rem;line-height:1;display:flex}.delay-camera-icon-btn img{object-fit:contain;width:100%;height:100%}.delay-camera-icon-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.delay-camera-replay-split{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:6px;align-items:stretch;display:flex;overflow:hidden}.delay-camera-replay-split .btn-brand{background:0 0;border-radius:0}.delay-camera-buffer-select{color:#fff;cursor:pointer;background:0 0;border:none;border-left:1px solid #ffffff59;flex-shrink:0;padding:0 .6rem;font-size:.85rem;font-weight:600}.delay-camera-buffer-select option{color:var(--foreground);background:var(--background)}.delay-camera-speed-select{background:linear-gradient(135deg, var(--accent), var(--accent-2));appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), linear-gradient(135deg, var(--accent), var(--accent-2));background-position:right .55rem center,0 0;background-repeat:no-repeat,no-repeat;background-size:.65rem,100%;border-left:none;border-radius:999px;height:32px;padding:0 1.5rem 0 .5rem;font-size:.75rem}@media (min-width:860px){.delay-camera-video-wrap{aspect-ratio:16/9;align-self:center;width:100%;max-width:100%;max-height:72vh}}.admin-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.admin-nav a{color:var(--accent);font-weight:600;text-decoration:none}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.admin-stat{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;padding:.75rem .9rem;display:flex}.admin-stat-value{color:var(--accent);font-size:1.5rem;font-weight:700}.admin-stat-label,.admin-muted{color:var(--muted);font-size:.85rem}.admin-muted{display:block}.admin-meter{background:var(--border);border-radius:5px;height:10px;margin-bottom:1rem;overflow:hidden}.admin-meter-fill{background:var(--accent);height:100%}.admin-list{margin:0 0 1.5rem;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.admin-search{gap:.5rem;margin-bottom:1rem;display:flex}.admin-search input{flex:1;min-width:0}.admin-table-wrap{margin-bottom:1rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.45rem .6rem}.admin-table th{white-space:nowrap;color:var(--muted);font-weight:600}.admin-details{grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin-bottom:1.5rem;display:grid}.admin-details dt{color:var(--muted)}.admin-details dd{overflow-wrap:anywhere;margin:0}.admin-actions{flex-direction:column;gap:.6rem;margin-bottom:1.5rem;display:flex}.admin-action-confirm{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-action-done{color:var(--good);margin:.3rem 0 0;font-size:.9rem}.admin-change-email label{flex-direction:column;gap:.25rem;margin-bottom:.5rem;display:flex}.session-plan-editor h3{margin:1.25rem 0 .5rem}.session-plan-editor textarea{width:100%;font:inherit}.session-plan-saved{color:var(--good);font-size:.9rem}.session-task-removed{color:var(--muted);text-decoration:line-through}.session-task-new{background:var(--accent);color:#fff;border-radius:999px;margin-left:.3rem;padding:.05rem .4rem;font-size:.75rem}.session-plan-templates{margin:1rem 0}.session-plan-templates summary{cursor:pointer;color:var(--accent);margin-bottom:.5rem;font-weight:600}.session-plan-template-list,.session-task-list{margin:.5rem 0;padding:0;list-style:none}.session-plan-template-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.4rem 0;display:flex}.session-task-done{color:var(--muted);opacity:.6;text-decoration:line-through}.session-task-list .role-option{gap:.45rem;display:flex}.session-plan-locked{color:var(--muted);margin:0 0 .4rem;font-size:.8rem}.fold-section{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem}.fold-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.fold-section-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.today-plan-card{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;margin-bottom:1.25rem;padding:.75rem 1rem}.today-plan-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.today-plan-header h2{margin:0;font-size:1.1rem}.today-plan-time{color:var(--muted);font-size:.85rem}.session-task-list li span,.session-task-list-coach li span{white-space:pre-wrap}.session-plan-editor .diary-form textarea{width:100%;font:inherit;resize:vertical}.athlete-session-plan{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:.5rem 0;padding:.6rem .75rem;font-size:.9rem}.athlete-session-plan-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:.25rem 0 .5rem}.session-task-grid{border-top:none;margin:.5rem 0 .75rem;padding-top:0}.session-task-count{opacity:.9;font-size:.75rem}.session-task-list-coach li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.45rem 0;display:flex}.session-plan-editor .diary-form .role-option{flex-direction:row;align-items:flex-start;gap:.5rem}.session-plan-bar{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;text-align:left;cursor:pointer;border:2px solid #0000;border-radius:10px;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:12px;padding:.7rem 1rem;display:flex;box-shadow:0 3px 10px #2a8d8040}.session-plan-bar:hover{filter:brightness(1.05)}.session-plan-bar-title{font-size:1rem;font-weight:700}.session-plan-bar-status{opacity:.92;font-size:.85rem;display:block}.session-plan-bar-arrow{flex-shrink:0;font-size:1.3rem}.athlete-sheet-modal{padding-top:0}.athlete-sheet-close{z-index:6;position:absolute;top:14px;right:14px}.athlete-sheet{flex-direction:column;flex:1;min-height:0;display:flex}.athlete-sheet-nav{border-bottom:1px solid var(--border);background:var(--background);flex-shrink:0;padding:16px 44px 10px 0}.athlete-sheet-who{align-items:center;gap:.7rem;margin-bottom:.75rem;display:flex}.athlete-sheet-who h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.2rem;overflow:hidden}.athlete-sheet-step{flex-shrink:0;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.athlete-sheet-step-btn{border:1.5px solid var(--border);background:var(--background);width:34px;height:34px;color:var(--accent);cursor:pointer;border-radius:50%;font-size:1.3rem;line-height:1}.athlete-sheet-step-btn:hover{border-color:var(--accent)}.athlete-sheet-position{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.athlete-sheet-tabs{scrollbar-width:thin;gap:.4rem;padding-bottom:2px;display:flex;overflow-x:auto}.athlete-sheet-tab{border:1.5px solid var(--border);background:linear-gradient(135deg, var(--accent-soft), #fce8ef);color:var(--accent);cursor:pointer;border-radius:999px;flex-shrink:0;padding:.4rem .9rem;font-size:.9rem;font-weight:600}.athlete-sheet-tab:hover{border-color:var(--accent)}.athlete-sheet-tab.is-on{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000}.athlete-sheet-body{flex:1;min-height:0;padding:.5rem 0 1.5rem;overflow-y:auto}@media (max-width:600px){.athlete-sheet-nav{padding-top:14px}.athlete-sheet-who{gap:.5rem;margin-bottom:.6rem}.athlete-sheet-who .avatar{width:32px!important;height:32px!important;font-size:13px!important}.athlete-sheet-who h2{font-size:1.05rem}.athlete-sheet-step-btn{width:30px;height:30px;font-size:1.15rem}.athlete-sheet-tabs{flex-wrap:wrap;gap:.3rem;overflow-x:visible}.athlete-sheet-tab{padding:.3rem .65rem;font-size:.82rem}}.athlete-sheet-body>.dashboard{max-width:none;margin:0;padding:0}.athlete-sheet-page .athlete-sheet-nav{padding-right:0}.athlete-sheet-page .athlete-sheet-body{overflow:visible}.record-day-list{flex-direction:column;gap:.6rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.record-day{border:1px solid var(--border);background:var(--background);border-radius:12px;padding:.75rem .9rem}.record-day-date{color:var(--accent);margin-bottom:.4rem;font-weight:700;display:block}.record-day-rows{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.record-day-rows li{overflow-wrap:anywhere;flex-wrap:wrap;gap:.2rem .6rem;display:flex}.record-day-label{min-width:8rem;font-weight:600}.record-day-value{font-variant-numeric:tabular-nums}.record-day-note{color:var(--muted)}.field-hint{color:var(--muted);font-size:.8rem;font-weight:400}.person-row-list,.group-row-list{flex-direction:column;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.person-row,.group-row{border:1px solid var(--border);background:var(--background);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .75rem;display:flex}.person-row-who,.group-row-who{flex-direction:column;flex:1;min-width:0;display:flex}.person-row-name{overflow-wrap:anywhere;font-weight:600}.person-row-email{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.person-row-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;display:flex}.inline-confirm{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.group-card-club{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:.5rem;padding:.05rem .5rem;font-size:.72rem;font-weight:700}.approve-group-select{flex-direction:column;gap:.25rem;margin:.5rem 0;font-size:.9rem;display:flex}.post-feed{margin-bottom:1.5rem}.post-feed-compose{border:1.5px dashed var(--border-strong);background:var(--surface);width:100%;color:var(--muted);text-align:left;cursor:pointer;border-radius:12px;margin-bottom:1rem;padding:.8rem 1rem;font-size:.95rem;display:block}.post-feed-compose:hover{border-color:var(--accent);color:var(--accent)}.post-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.post{border:1px solid var(--border);background:var(--background);overflow-wrap:anywhere;border-radius:14px;padding:.9rem 1rem}.post.is-pinned{border-color:var(--accent);background:linear-gradient(135deg, var(--accent-soft), #fff 60%)}.post-head{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.post-who{flex-direction:column;flex:1;min-width:0;display:flex}.post-author{font-weight:700}.post-meta{color:var(--muted);font-size:.8rem}.post-meta a{color:var(--accent)}.post-title{margin:.25rem 0 .35rem;font-size:1.05rem}.post-body{white-space:pre-wrap;margin:0 0 .5rem}.post-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.5rem;font-size:.85rem;display:flex}.post-reads{color:var(--muted);font-variant-numeric:tabular-nums}.post-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.post-form input,.post-form textarea{width:100%;font:inherit}.group-filter-name{flex-direction:column;align-items:flex-start;min-width:0;display:inline-flex}.group-filter-club{opacity:.8;font-size:.7rem;font-weight:500}.group-assistants{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.3rem 0 .5rem;font-size:.85rem;display:flex}.group-assistants-label{color:var(--muted);font-weight:600}.group-assistant-chip{padding:.25rem .75rem;font-size:.85rem}.group-assistant-chip.removable{padding-right:0}.group-assistant-chip form{display:inline-flex}.group-row>.group-assistants{flex-basis:100%;margin:0}.group-row-who{flex:12rem}.assisted-groups{margin-top:1.5rem}.group-card-header{flex-wrap:wrap}.group-card-title{flex:12rem}.session-substitute{margin-bottom:.6rem}.session-substitute label{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.session-substitute select{border:1px solid var(--border-strong);background:var(--background);max-width:18rem;color:var(--foreground);border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.95rem}.training-type-chip.is-off{background:var(--muted);border-color:var(--muted);color:#fff}.roles-card{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.roles-card-list{gap:.4rem;margin:0;display:flex}.roles-card .profile-role-badge{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border)}.roles-card .profile-role-badge.is-on{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000}.roles-card-confirm p{margin:0 0 .5rem;font-size:.92rem}.unread-posts-banner{background:linear-gradient(135deg, var(--accent-soft), #fce8ef);border:1px solid var(--border);max-width:960px;color:var(--foreground);border-radius:12px;align-items:center;gap:.6rem;margin:.75rem auto 0;padding:.7rem 1rem;font-weight:600;text-decoration:none;display:flex}.unread-posts-banner-go{color:var(--accent);margin-left:auto}@media (max-width:1000px){.unread-posts-banner{margin:.75rem 1rem 0}}
