.notification-trigger{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fffefa;color:#173b35;cursor:pointer}
.notification-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.communication-count{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:12px;background:#c64e43;color:#fff;font-size:8px;font-weight:900}
.communication-count[hidden]{display:none}
.notification-panel{position:fixed;z-index:10050;right:22px;top:78px;width:min(420px,calc(100vw - 30px));max-height:72vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fffefa;box-shadow:0 24px 70px #07181555}
.notification-panel[hidden]{display:none}.notification-panel>header,.chat-drawer>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid var(--line)}
.notification-panel h3,.chat-drawer h3{margin:2px 0;color:#173b35}.panel-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#eee7dd;color:#73583f;font-size:19px;cursor:pointer}
.notification-list{display:grid;gap:7px;padding:10px}.notification-item{padding:12px;border:1px solid var(--line);border-radius:11px;background:white}.notification-item.unread{border-left:4px solid #c58c61;background:#fff9f2}.notification-item strong,.notification-item p,.notification-item time{display:block}.notification-item strong{color:#173b35;font-size:11px}.notification-item p{margin:5px 0;color:#5e6e69;font-size:9px;line-height:1.45}.notification-item time{color:#94a09c;font-size:8px}.notification-actions{display:flex;gap:6px;margin-top:9px}.notification-actions button{border:1px solid var(--line);border-radius:7px;padding:6px 9px;background:white;color:#62716c;font-size:8px;font-weight:850;cursor:pointer}.notification-actions .approve-completion{border-color:#b9d8c7;background:#edf8f1;color:#367359}.notification-actions .reject-completion{border-color:#ecc9c4;background:#fff2ef;color:#a2473e}
.portal-session{position:relative}.completion-panel{border-color:#d8bd9f;background:linear-gradient(145deg,#fffdf9,#fff7ed)}.completion-panel .section-head{align-items:flex-start}.completion-panel .section-head h3{margin:3px 0 0}.completion-role{padding:5px 7px;border-radius:999px;background:#ead7c1;color:#80593d;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.completion-session-row{display:grid;gap:8px;padding:11px 0;border-top:1px solid #eadfd2}.completion-session-row:first-of-type{border-top:0}.completion-session-row strong,.completion-session-row small{display:block}.completion-session-row strong{color:#173b35;font-size:10px}.completion-session-row small{margin-top:3px;color:#74817d;font-size:8px}.session-completion-action{width:100%;border:1px solid #b77b4c;border-radius:9px;padding:9px 10px;background:#c98f62;color:white;font-size:9px;font-weight:900;cursor:pointer;box-shadow:0 5px 12px #b77b4c22}.session-completion-action:hover:not(:disabled){background:#aa7045}.session-completion-action.requested,.session-completion-action:disabled{border-color:#c6d3ce;background:#eef3f1;color:#58716a;box-shadow:none;cursor:default}.completion-help,.completion-empty p{margin:10px 0 0;color:#667772;font-size:8px;line-height:1.5}.completion-help.preview{padding:8px;border-radius:7px;background:#f0e7dc;color:#775a43}.completion-empty{padding:11px 0}.completion-empty b{font-size:10px;color:#173b35}.completion-empty .session-completion-action{margin-top:10px}
.dashboard-completions{grid-column:1/-1}.completion-clear{padding:6px 9px;border-radius:999px;background:#e6f3eb;color:#3e7e5f;font-size:8px;font-weight:900}.completion-dashboard-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.completion-dashboard-kpis span{display:grid;padding:12px;border-radius:10px;background:#f4f0ea;color:#65746f;font-size:8px;font-weight:800}.completion-dashboard-kpis b{margin-bottom:3px;color:#173b35;font-size:21px}.completion-dashboard-kpis .waiting{background:#fff4e6;color:#95602f}.completion-dashboard-kpis .done{background:#eaf5ee;color:#397458}.completion-dashboard-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.completion-dashboard-list>div:not(.empty-state){display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid #e3ddd5;border-radius:10px}.completion-dashboard-list p,.completion-dashboard-list b,.completion-dashboard-list small{display:block;margin:0}.completion-dashboard-list p b{color:#173b35;font-size:10px}.completion-dashboard-list small{margin-top:2px;color:#7b8783;font-size:8px}.completion-dashboard-list>div>strong{color:#46765f;font-size:8px}.completion-dashboard-list .pending>strong{color:#a36632}.completion-state-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#e6f3eb;color:#37765a;font-weight:950}.pending .completion-state-icon{background:#fff0dd;color:#a66935}.athlete-global-access{display:flex!important;align-items:center;gap:6px;margin-left:auto;padding:6px 9px;border:1px solid #d9c4ab;border-radius:8px;background:#fff8ef;color:#78583e!important;font-size:8px!important;font-weight:900!important;text-transform:none!important}.athlete-global-access input{width:auto!important}@media(max-width:760px){.completion-dashboard-kpis,.completion-dashboard-list{grid-template-columns:1fr}.completion-dashboard-list>div:not(.empty-state){grid-template-columns:28px 1fr}.completion-dashboard-list>div>strong{grid-column:2}.athlete-global-access{width:100%;margin:8px 0 0}}
.athlete-visibility-editor{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(280px,1.3fr);gap:12px;margin:0 0 14px;padding:13px;border:1px solid #dfd1c0;border-radius:11px;background:#fffaf3}.athlete-visibility-editor>div:first-child label,.new-athlete-visibility>label{display:grid;gap:5px;color:#6d7b77;font-size:8px;font-weight:850}.athlete-visibility-editor select,.new-athlete-visibility select{width:100%;border:1px solid #d9c8b3;border-radius:8px;padding:8px;background:white;color:#173b35;font-size:9px}.athlete-visibility-professionals,.new-athlete-professionals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.athlete-visibility-professionals label,.new-athlete-professionals label{display:flex!important;align-items:center;gap:7px;padding:7px;border:1px solid #e3d8ca;border-radius:8px;background:white;color:#173b35!important;text-transform:none!important}.athlete-visibility-professionals label input,.new-athlete-professionals label input{width:auto!important}.athlete-visibility-professionals span,.athlete-visibility-professionals b,.athlete-visibility-professionals small,.new-athlete-professionals span,.new-athlete-professionals b,.new-athlete-professionals small{display:block}.athlete-visibility-professionals b,.new-athlete-professionals b{font-size:9px}.athlete-visibility-professionals small,.new-athlete-professionals small{margin-top:2px;color:#87928e;font-size:7px}.athlete-visibility-note{grid-column:1/-1;margin:0;color:#7c6a58;font-size:8px}.new-athlete-visibility{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;gap:10px;margin:0;padding:11px;border:1px solid #dac8b2;border-radius:10px}.new-athlete-visibility legend{padding:0 5px;color:#173b35;font-size:9px;font-weight:900}@media(max-width:760px){.athlete-visibility-editor,.new-athlete-visibility{grid-template-columns:1fr}.athlete-visibility-professionals,.new-athlete-professionals{grid-template-columns:1fr}}
.session-athlete-picker{margin:0;border:1px solid #d8cec1;border-radius:11px;padding:12px}.session-athlete-picker legend{padding:0 6px;color:#173b35;font-size:10px;font-weight:900}.session-athlete-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#71807b;font-size:9px}.session-athlete-picker-head button{border:0;background:transparent;color:#a36d45;font-size:8px;font-weight:900;cursor:pointer}.session-athlete-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:190px;overflow:auto}.session-athlete-choices>label{display:grid;grid-template-columns:auto 27px 1fr;align-items:center;gap:6px;padding:7px;border:1px solid #e5ddd3;border-radius:8px;background:#fffefa;color:#173b35!important;text-transform:none!important;cursor:pointer}.session-athlete-choices input{width:auto!important;accent-color:#b77b4c}.session-choice-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#173b35;color:#edc49c;font-size:8px;font-weight:900}.session-athlete-choices b,.session-athlete-choices small{display:block}.session-athlete-choices b{font-size:9px}.session-athlete-choices small{margin-top:2px;color:#82908b;font-size:7px}.session-athlete-error{min-height:12px;margin:7px 0 0;color:#b3483e;font-size:8px;font-weight:850}.session-audience{display:inline-flex;padding:5px 7px;border-radius:999px;background:#edf2ef;color:#527066;font-size:8px;font-weight:850}.session-audience.staff{background:#eee8f5;color:#6d5784}.session-audience.athletes{background:#fff0dd;color:#936036}@media(max-width:720px){.session-athlete-choices{grid-template-columns:1fr 1fr}}
.plan-assignment-status{display:grid;min-width:190px;padding:8px 10px;border-radius:9px;background:#e7f3ec;color:#347257}.plan-assignment-status b,.plan-assignment-status small{display:block}.plan-assignment-status b{font-size:9px}.plan-assignment-status small{margin-top:2px;color:#5f756c;font-size:7px}.plan-assignment-status.warning{background:#fff0dc;color:#95602e}.plan-assignment-status.warning small{color:#8a6a4d}.open-assigned-workout{grid-column:2/-1;border:1px solid #d5b493;border-radius:7px;padding:6px 8px;background:#fff8ef;color:#875d3e;font-size:8px;font-weight:900;cursor:pointer}.open-assigned-workout:hover{background:#f4e3d2}@media(max-width:720px){.plan-assignment-status{width:100%;order:3}.portal-plan-head{flex-wrap:wrap}}
.assign-current-workout{border:0;border-radius:9px;padding:9px 12px;background:#173b35;color:#efc49b;font-size:9px;font-weight:900;cursor:pointer;box-shadow:0 5px 12px #173b3520}.assign-current-workout:hover{background:#235047}
.cloud-sync-status{border:1px solid #bdd9ca;border-radius:999px;padding:6px 9px;background:#edf8f1;color:#387259;font-size:8px;font-weight:900;cursor:default}.cloud-sync-status::before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#46a878;box-shadow:0 0 0 3px #46a87820}.cloud-sync-status.error{border-color:#e6c4b8;background:#fff3ee;color:#9b5544}.cloud-sync-status.error::before{background:#d47a63;box-shadow:0 0 0 3px #d47a6320}
.profile-preferences{padding:18px;margin-bottom:16px}.profile-preferences-form{display:grid;grid-template-columns:minmax(180px,1fr) 150px 190px auto;gap:10px;align-items:end}.profile-preferences-form label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.profile-preferences-form input,.profile-preferences-form select{border:1px solid var(--line);border-radius:9px;padding:10px;background:white;color:#173b35}.presence-preview{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:9px}.presence-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9aa39f}.presence-dot.online{background:#40a56f;box-shadow:0 0 0 3px #40a56f22}.presence-dot.away{background:#d49b39}.presence-dot.offline{background:#909996}
.chat-launcher{position:fixed;z-index:10040;right:24px;bottom:24px;display:grid;place-items:center;width:54px;height:54px;border:0;border-radius:17px;background:linear-gradient(145deg,#b98258,#ddb68f);color:#173b35;box-shadow:0 13px 30px #07181555;cursor:pointer}.chat-launcher svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-launcher .communication-count{border-color:#d6aa80}.chat-contact-group{margin:10px 8px 6px;color:#9a6b49;font-size:8px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.chat-contact-group:first-child{margin-top:3px}
.chat-launcher[hidden],.notification-trigger[hidden],.notification-panel[hidden]{display:none!important}
.chat-drawer{position:fixed;z-index:10055;right:0;top:0;display:grid;grid-template-rows:auto 1fr;height:100vh;width:min(760px,96vw);background:#f6f2ec;box-shadow:-24px 0 70px #07181555;transform:translateX(105%);transition:transform .24s ease}.chat-drawer.open{transform:translateX(0)}.chat-drawer>header{background:#173b35;color:white}.chat-drawer>header h3{color:white}.chat-drawer>header .eyebrow{color:#deb58d}.chat-layout{display:grid;grid-template-columns:245px 1fr;min-height:0}.chat-contacts{overflow:auto;padding:10px;border-right:1px solid var(--line);background:#fffefa}.chat-contact{display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;width:100%;margin-bottom:5px;border:0;border-radius:10px;padding:9px;background:transparent;color:#31443f;text-align:left;cursor:pointer}.chat-contact:hover,.chat-contact.active{background:#f0e7dc}.chat-contact-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#173b35;color:#e8bd95;font-size:9px;font-weight:900}.chat-contact strong,.chat-contact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact strong{font-size:10px}.chat-contact small{margin-top:3px;color:var(--muted);font-size:8px}.chat-contact .presence-dot{align-self:start;margin-top:4px}.chat-conversation{display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0}.chat-conversation-head{padding:14px 17px;border-bottom:1px solid var(--line);background:#fffefa}.chat-conversation-head strong,.chat-conversation-head span{display:block}.chat-conversation-head strong{color:#173b35}.chat-conversation-head span{margin-top:3px;color:var(--muted);font-size:8px}.chat-messages{overflow:auto;display:flex;flex-direction:column;gap:7px;padding:17px}.chat-message{align-self:flex-start;max-width:78%;padding:9px 11px;border-radius:11px 11px 11px 3px;background:white;box-shadow:0 4px 12px #173b3510}.chat-message.mine{align-self:flex-end;border-radius:11px 11px 3px 11px;background:#173b35;color:white}.chat-message p{margin:0;font-size:10px;line-height:1.45;white-space:pre-wrap}.chat-message time{display:block;margin-top:4px;color:#9ba6a2;font-size:7px}.chat-message.mine time{color:#bfcfca}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px;border-top:1px solid var(--line);background:#fffefa}.chat-form textarea{resize:none;border:1px solid var(--line);border-radius:10px;padding:10px;min-height:42px;max-height:100px}.chat-empty{display:grid;place-items:center;height:100%;padding:25px;color:var(--muted);text-align:center}
@media(max-width:700px){.profile-preferences-form{grid-template-columns:1fr}.chat-layout{grid-template-columns:100px 1fr}.chat-contact{grid-template-columns:35px 1fr}.chat-contact>div:nth-child(2) small{display:none}.chat-contact .presence-dot{display:none}.chat-drawer{width:100vw}.chat-launcher{right:15px;bottom:15px}.notification-panel{right:10px;top:70px}.top-actions{gap:6px}}
.roster-manager form.with-initial-access{grid-template-columns:1.1fr .85fr .65fr 1.15fr auto}
@media(max-width:1100px){.roster-manager form.with-initial-access{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.roster-manager form.with-initial-access{grid-template-columns:1fr}}
.question-builder-row{grid-template-columns:28px minmax(190px,1fr) 140px 86px 62px 30px!important}
.question-order-actions{display:flex;gap:3px;align-self:end}.question-order-actions button{width:29px;height:34px;border:1px solid #d8c7b5;border-radius:7px;background:#fffaf3;color:#815a3c;font-weight:900;cursor:pointer}.question-order-actions button:disabled{opacity:.25;cursor:default}
@media(max-width:760px){.question-builder-row{grid-template-columns:26px 1fr!important}.question-order-actions{grid-column:2}}
