:root {
  --navy:#06192e; --navy-2:#0a2849; --blue:#1263a5; --cyan:#4bdae9;
  --paper:#edf2f6; --white:#fff; --ink:#142338; --muted:#66778b;
  --line:#dce5ed; --green:#0d805d; --green-bg:#e2f5ed; --amber:#9a6411;
  --amber-bg:#fff2d8; --red:#b73943; --red-bg:#fde9eb;
  --z1:#a9d8f2; --z2:#64c6e2; --z3:#72c790; --z4:#f3b84b; --z5:#e55e68;
  --shadow:0 18px 46px rgba(6,25,46,.07); --radius:18px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
body.coach-open,body.report-open,body.review-open,body.medical-open { overflow:hidden; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; }
.hidden { display:none!important; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.app-shell { min-height:100vh; display:grid; grid-template-columns:300px minmax(0,1fr); }
.sidebar { position:sticky; top:0; z-index:10; height:100vh; display:flex; flex-direction:column; gap:20px; overflow:hidden; padding:25px 18px 20px; color:#fff; background:radial-gradient(circle at 10% 4%,rgba(75,218,233,.14),transparent 18rem),linear-gradient(165deg,#071c35 0%,#051526 72%); }
.sidebar::after { content:""; position:absolute; inset:auto -90px -120px auto; width:290px; height:290px; border:1px solid rgba(75,218,233,.08); border-radius:50%; box-shadow:0 0 0 48px rgba(75,218,233,.025),0 0 0 96px rgba(75,218,233,.015); pointer-events:none; }
.sidebar > * { position:relative; z-index:1; }
.brand-plate { width:fit-content; display:inline-flex; color:#fff; text-decoration:none; }
.brand-plate .rmp-logo-name { color:#fff; }
.brand-plate::before,.brand-plate::after { display:none; }
.console-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:7px; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:rgba(255,255,255,.045); }
body:not(.is-authenticated) .console-nav { display:none; }
.console-nav a { min-width:0; display:grid; justify-items:center; gap:4px; padding:9px 5px; border-radius:9px; color:#8fa5ba; font-size:12px; font-weight:750; text-decoration:none; }
.console-nav a span { color:#5f7f9d; font-size:16px; line-height:1; }
.console-nav a:hover,.console-nav a.active { color:#fff; background:rgba(255,255,255,.09); }
.console-nav a.active span { color:var(--cyan); }
.admin-role-views { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:20px 0 14px; padding:12px; border:1px solid #bedde4; border-radius:14px; background:#f5fcfd; }
.admin-role-views > span { margin-right:8px; color:#286879; font-size:11px; font-weight:900; letter-spacing:.1em; }
.admin-role-views button,.admin-role-views a { display:inline-flex; align-items:center; min-height:40px; padding:9px 14px; border:1px solid #bfd8e0; border-radius:9px; color:#19495b; background:#fff; font-size:14px; font-weight:800; text-decoration:none; cursor:pointer; }
.admin-role-views button:hover,.admin-role-views a:hover { border-color:#139eae; background:#e4f7f9; }
.admin-role-views button[aria-pressed="true"],.admin-role-views a[aria-current="page"] { border-color:#117e90; color:#fff; background:#116d80; }
.roster-block { min-height:0; display:flex; flex:1; flex-direction:column; gap:12px; }
.roster-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:0 4px; }
.roster-heading div { display:grid; gap:4px; }
.roster-heading span { color:#66849f; font-size:11px; font-weight:900; letter-spacing:.11em; }
.roster-heading strong { color:#dce8f1; font-size:15px; }
.roster-heading b { min-width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:#041423; background:var(--cyan); font-size:12px; }
.roster-search input { width:100%; min-height:40px; padding:9px 12px; border:1px solid rgba(255,255,255,.12); border-radius:10px; color:#fff; background:rgba(255,255,255,.06); outline:none; font-size:14px; }
.roster-search input::placeholder { color:#748da4; }
.roster-search input:focus { border-color:rgba(75,218,233,.75); box-shadow:0 0 0 3px rgba(75,218,233,.09); }
.manager-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.manager-groups button { min-width:0; display:flex; flex-direction:column; gap:7px; padding:12px 10px; border:1px solid #47637d; border-radius:12px; color:#e5eff7; background:#173951; text-align:left; }
.manager-groups button > span { display:flex; justify-content:space-between; align-items:center; width:100%; font-size:14px; font-weight:850; }
.manager-groups b { min-width:24px; padding:2px 4px; border-radius:6px; background:rgba(255,255,255,.12); text-align:center; font-size:14px; }
.manager-groups strong { font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
.manager-groups small { margin-top:auto; font-size:13px; color:#c0d2e0; }
.manager-groups button[aria-pressed="true"] { color:#073349; border-color:#68e1ec; background:#d7f7fa; box-shadow:inset 0 -3px #16adbd; }
.manager-groups button[aria-pressed="true"] small { color:#315a6a; }
.manager-groups button[aria-pressed="true"] b { background:#a9e9ee; }
.manager-groups button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.manager-group-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 20px; padding:16px 20px; margin-bottom:12px; border:1px solid #bcdde5; border-left:5px solid #139eae; border-radius:12px; color:#174255; background:#f2fcfd; }
.manager-group-summary strong { font-size:18px; }
.manager-group-summary span { font-size:14px; }
.official-sidebar-list { min-height:0; display:grid; align-content:start; gap:7px; overflow-y:auto; padding-right:3px; scrollbar-color:#33516c transparent; }
.official-side-button { width:100%; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px; border:1px solid transparent; border-radius:12px; color:#cad7e2; background:transparent; text-align:left; }
.official-side-button:hover { background:rgba(255,255,255,.055); }
.official-side-button.active { border-color:rgba(75,218,233,.32); background:linear-gradient(135deg,rgba(75,218,233,.15),rgba(255,255,255,.055)); box-shadow:inset 3px 0 var(--cyan); }
.side-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#07182a; background:#c5d4df; font-size:11px; font-weight:900; }
.official-side-button.active .side-avatar { background:var(--cyan); }
.official-side-button > span:nth-child(2) { min-width:0; display:grid; gap:3px; }
.official-side-button strong { overflow:hidden; color:#f3f8fb; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.official-name-line { min-width:0; display:flex; align-items:center; gap:7px; }
.official-name-line strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.watch-badge { flex:0 0 auto; width:22px; height:22px; display:inline-grid; place-items:center; border:1px solid transparent; border-radius:7px; font-size:12px; font-weight:900; line-height:1; letter-spacing:0; vertical-align:middle; }
.watch-badge.polar { border-color:#68c9ed; color:#064468; background:#d4f3ff; }
.watch-badge.garmin { border-color:#d2ae63; color:#694d12; background:#fff0ca; }
.selected-watch-badge:not(:empty) { margin-left:9px; display:inline-flex; vertical-align:middle; }
.watch-legend { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin:0; padding:0 4px; color:#b9cbd8; font-size:12px; line-height:1.35; }
.watch-legend .watch-badge.garmin { margin-left:7px; }
.official-side-button small { overflow:hidden; color:#7891a8; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.official-side-button .official-country { color:#23c7d5; font-weight:800; letter-spacing:.04em; }
.side-state { width:9px; height:9px; border:2px solid #8497a9; border-radius:50%; }
.side-state.complete { border-color:#74dfb9; background:#74dfb9; box-shadow:0 0 0 4px rgba(116,223,185,.09); }
.side-state.coach { border-color:#f2b84e; background:#f2b84e; box-shadow:0 0 0 4px rgba(242,184,78,.11); }
.side-state.data { border-color:#48c7e1; background:#48c7e1; box-shadow:0 0 0 4px rgba(72,199,225,.11); }
.side-state.medical { border-color:#d92f40; background:#d92f40; box-shadow:0 0 0 5px rgba(217,47,64,.14); animation:medical-pulse 1.15s ease-in-out infinite; }
.sidebar-empty { padding:18px 12px; border:1px dashed rgba(255,255,255,.14); border-radius:12px; color:#7891a8; font-size:13px; line-height:1.5; text-align:center; }
.pilot-lockup { margin-top:auto; display:grid; gap:5px; padding:15px 4px 0; border-top:1px solid rgba(255,255,255,.1); }
.pilot-lockup > span { display:flex; align-items:center; gap:7px; color:var(--cyan); font-size:10px; font-weight:900; letter-spacing:.12em; }
.pilot-lockup > span i { width:6px; height:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 12px var(--cyan); }
.pilot-lockup strong { color:#d7e3ec; font-size:12px; }
.pilot-lockup small { color:#647f98; font-size:11px; }

.workspace { min-width:0; padding:0 clamp(18px,3.5vw,54px) 44px; }
.topbar { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:22px; border-bottom:1px solid var(--line); }
.kicker { color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.13em; }
h1,h2,p { margin:0; }
h1 { margin-top:5px; color:var(--navy); font-size:clamp(27px,3vw,39px); letter-spacing:-.04em; }
h2 { color:var(--navy); font-size:clamp(22px,2.4vw,31px); letter-spacing:-.03em; }
.topbar-actions,.record-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.date-field { display:grid; gap:4px; }
.date-field span,.login-panel label,.invite-form label span,.coach-form label { color:#516579; font-size:11px; font-weight:900; letter-spacing:.08em; }
.date-field input { min-width:158px; }
.button,.icon-button { min-height:41px; display:inline-flex; align-items:center; justify-content:center; padding:9px 14px; border:1px solid transparent; border-radius:10px; font-size:12px; font-weight:850; letter-spacing:.025em; text-decoration:none; transition:transform .16s,border-color .16s,background .16s; }
.button:hover,.icon-button:hover { transform:translateY(-1px); }
.button:disabled,.icon-button:disabled { opacity:.55; cursor:wait; transform:none; }
.button.primary { color:#fff; background:var(--blue); }
.button.secondary { color:var(--navy); border-color:#bdcad7; background:#fff; }
.button.ghost { color:#36516c; background:#e6edf3; }
.icon-button { width:41px; padding:0; color:#24445f; border-color:#c9d6e1; background:#fff; font-size:21px; }
.role-badge,.mode-pill { display:inline-flex; padding:7px 10px; border-radius:999px; color:#076347; background:var(--green-bg); font-size:10px; font-weight:900; letter-spacing:.08em; }
.security-notice { display:flex; align-items:center; gap:14px; margin:17px 0; padding:12px 14px; border:1px solid #b6dfe5; border-radius:11px; color:#24535b; background:#e9fbfd; }
.security-notice > span { flex:0 0 auto; padding:5px 7px; border-radius:6px; color:#fff; background:#147f8c; font-size:10px; font-weight:900; letter-spacing:.09em; }
.security-notice p { font-size:13px; line-height:1.45; }
.panel { border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.login-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.78fr); align-items:center; gap:38px; margin-top:28px; padding:clamp(26px,5vw,48px); }
.login-panel h2 { margin:8px 0 10px; font-size:clamp(29px,4vw,44px); }
.login-panel p,.panel-heading p { color:var(--muted); font-size:13px; line-height:1.5; }
.login-panel form { display:grid; gap:8px; }
.login-panel form > div { display:flex; gap:8px; }
input,select,textarea { min-height:41px; min-width:0; padding:9px 11px; border:1px solid #c8d4df; border-radius:9px; color:var(--ink); background:#fff; outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(18,99,165,.1); }
#staffCode { flex:1; }
#loginStatus { font-size:12px; }
.console-content { display:grid; gap:20px; }
.console-content.console-entered > section,.console-content.console-entered > footer { opacity:0; animation:console-rise .5s cubic-bezier(.2,.76,.24,1) forwards; }
.console-content.console-entered > section:nth-child(2) { animation-delay:.08s; }
.console-content.console-entered > section:nth-child(3) { animation-delay:.14s; }

.monitor-section,.access-panel,.records-panel { scroll-margin-top:18px; }
.team-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:3px 0 13px; }
.team-strip article,.team-review-button { min-height:92px; display:flex; flex-direction:column; justify-content:center; padding:15px 17px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 9px 24px rgba(6,25,46,.035); text-align:left; }
.team-strip article > span,.team-review-button > span,.signal-grid article > span,.polar-metrics article > span { color:#708196; font-size:10px; font-weight:900; letter-spacing:.1em; }
.team-strip article strong,.team-review-button strong { margin:6px 0 3px; color:var(--navy); font-size:27px; line-height:1; }
.team-strip article small,.team-review-button small { color:#8795a4; font-size:11px; }
.team-review-button.attention { border-color:#edd39f; background:linear-gradient(145deg,#fff,#fff9ed); }
.team-review-button.has-signals { box-shadow:0 10px 25px rgba(183,57,67,.09); }
.team-review-button.has-medical { border-color:#df5360; background:linear-gradient(145deg,#fff,#fff0f2); animation:medical-pulse 1.15s ease-in-out infinite; }
@keyframes medical-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(207,44,58,.08); } 50% { box-shadow:0 0 0 7px rgba(207,44,58,.16); } }
.team-review-button:not(:disabled):hover { transform:translateY(-1px); border-color:#d7ad58; }
.team-review-button:disabled { cursor:default; }
.official-monitor { display:grid; gap:12px; }
.monitor-empty { padding:48px; text-align:center; }
.monitor-empty > span { color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.12em; }
.monitor-empty h2 { margin:7px 0; }
.monitor-empty p { color:var(--muted); font-size:14px; }
.official-hero { position:relative; overflow:hidden; min-height:124px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 25px; background:linear-gradient(120deg,#fff 0%,#fff 60%,#effbfc 100%); }
.official-hero::after { content:""; position:absolute; right:-72px; width:220px; height:220px; border:1px solid rgba(29,139,153,.11); border-radius:50%; box-shadow:0 0 0 34px rgba(29,139,153,.035); }
.official-identity,.official-actions { position:relative; z-index:1; display:flex; align-items:center; gap:16px; }
.selected-avatar { width:72px; height:72px; flex:0 0 auto; display:grid; place-items:center; border-radius:20px; color:#fff; background:linear-gradient(145deg,var(--navy),#174e77); box-shadow:0 13px 24px rgba(6,25,46,.16); font-size:19px; font-weight:900; }
.official-identity h2 { margin:4px 0 4px; }
.official-identity p { color:var(--muted); font-size:13px; }
.official-actions { flex-wrap:wrap; justify-content:flex-end; }
.monitor-status,.source-pill { display:inline-flex; align-items:center; gap:6px; padding:7px 9px; border-radius:999px; color:#7a5516; background:var(--amber-bg); font-size:10px; font-weight:900; letter-spacing:.07em; }
.monitor-status.clear,.source-pill.verified { color:var(--green); background:var(--green-bg); }
.source-pill.reported { color:#14677d; background:#e4f6fa; }
.monitor-status.medical { color:#fff; background:#c92f3f; animation:medical-pulse 1.15s ease-in-out infinite; }
.monitor-status.coach { color:#8a5700; background:#fff0cc; }
.monitor-status.data { color:#0b6691; background:#e5f4fa; }
.monitor-status { border:0; }
.monitor-status:not(:disabled):hover { box-shadow:0 0 0 3px rgba(17,102,145,.1); }
.medical-button { gap:7px; color:#87313a; border-color:#e2adb2; background:#fff4f5; }
.medical-button.priority { color:#fff; border-color:#c92f3f; background:#c92f3f; animation:medical-pulse 1.15s ease-in-out infinite; }
.selected-review { display:grid; grid-template-columns:minmax(210px,.42fr) minmax(0,1fr); gap:20px; padding:18px 20px; border-color:#d9e5ec; background:linear-gradient(145deg,#fff,#f8fbfd); box-shadow:none; }
.selected-review[data-level="medical"] { border-color:#e25b66; background:linear-gradient(145deg,#fff,#fff2f4); }
.selected-review[data-level="coach"] { border-color:#eccb84; background:linear-gradient(145deg,#fff,#fff9ed); }
.selected-review[data-level="data"] { border-color:#91cfe1; background:linear-gradient(145deg,#fff,#f2fbfe); }
.selected-review > div:first-child > span { color:#496c83; font-size:10px; font-weight:900; letter-spacing:.1em; }
.selected-review[data-level="medical"] > div:first-child > span { color:#bd2838; }
.selected-review[data-level="coach"] > div:first-child > span { color:#96600b; }
.selected-review[data-level="data"] > div:first-child > span { color:#0c7095; }
.selected-review h3 { margin:5px 0 4px; color:var(--navy); font-size:18px; }
.selected-review p { color:var(--muted); font-size:12px; line-height:1.45; }
.selected-review-list { display:grid; gap:7px; }
.selected-review-list article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:10px; padding:10px 12px; border:1px solid #dbe6ec; border-radius:10px; background:#fff; }
.selected-review-list article.medical { border-color:#efc8cc; }.selected-review-list article.coach { border-color:#eedcb5; }.selected-review-list article.data { border-color:#c7e4ed; }
.selected-review-list article > span,.review-code { padding:5px 7px; border-radius:7px; color:#47677c; background:#edf3f6; font-size:9px; font-weight:900; letter-spacing:.07em; }
.selected-review-list article.medical > span,.review-dialog-content > button.medical .review-code { color:#b82736; background:#ffe8eb; }
.selected-review-list article.coach > span,.review-dialog-content > button.coach .review-code { color:#8f5b09; background:#fff1d1; }
.selected-review-list article.data > span,.review-dialog-content > button.data .review-code { color:#096b91; background:#e4f4f9; }
.selected-review-list article div { display:grid; gap:3px; }.selected-review-list article strong { color:#52252a; font-size:13px; }.selected-review-list article small { color:#78666a; font-size:11px; line-height:1.4; }
.selected-review-list article em { color:#947c80; font-size:9px; font-style:normal; font-weight:850; }
.coach-button { gap:8px; color:#06182b; background:var(--cyan); box-shadow:0 9px 22px rgba(75,218,233,.22); }
.coach-button span { font-size:19px; line-height:1; }
.report-button { gap:7px; color:#fff; background:linear-gradient(135deg,#0d4f91,#168da4); box-shadow:0 9px 22px rgba(13,79,145,.16); }
.programme-button { gap:7px; color:#17445c; border-color:#a8cbd4; background:#f4fdff; }
.programme-button.available { color:#fff; border-color:#0d7a8b; background:#0d7a8b; }
.programme-button:disabled { cursor:not-allowed; }
.signal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.signal-grid article { min-height:111px; display:flex; flex-direction:column; justify-content:center; padding:17px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.signal-grid article strong { margin:7px 0 3px; overflow:hidden; color:var(--navy); font-size:clamp(20px,2vw,28px); line-height:1.05; text-overflow:ellipsis; white-space:nowrap; }
.signal-grid article small { color:#8392a1; font-size:11px; }
.analysis-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr); gap:12px; }
.polar-card,.wellness-card,.trend-card,.activity-card { min-width:0; padding:clamp(18px,2.5vw,27px); }
.performance-tests-card { padding:clamp(18px,2.5vw,25px); }
.test-context-pill { flex:0 0 auto; padding:7px 9px; border-radius:999px; color:#14677d; background:#e4f6fa; font-size:9px; font-weight:900; letter-spacing:.07em; }
.staff-performance-tests-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:17px; }
.staff-performance-test { min-width:0; display:grid; gap:9px; padding:15px; border:1px solid #d9e7ee; border-radius:13px; background:linear-gradient(145deg,#fff,#f8fbfd); }
.staff-performance-test header { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.staff-performance-test header span { padding:5px 7px; border-radius:7px; color:#0c648e; background:#e8f7fb; font-size:9px; font-weight:900; letter-spacing:.08em; }
.staff-performance-test time { color:#7c8e9e; font-size:10px; font-weight:800; }
.staff-performance-test h3 { margin:0; color:#0a2f4f; font-size:15px; }
.staff-performance-test-results { display:flex; flex-wrap:wrap; gap:6px; }
.staff-performance-test-results span { padding:6px 8px; border-radius:8px; color:#224c66; background:#eef5f8; font-size:10px; }
.staff-performance-test-results b { color:#08304f; }
.staff-performance-test small { color:#708396; font-size:10px; line-height:1.45; }
.staff-performance-test em { color:#97620f; font-size:10px; font-style:normal; font-weight:850; }
.staff-performance-tests-empty { grid-column:1/-1; padding:20px; border:1px dashed #bfd8e2; border-radius:12px; color:#6a8192; background:#f8fbfd; text-align:center; font-size:12px; }
.test-document-review-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:20px; padding-top:16px; border-top:1px solid #dbe7ed; }
.test-document-review-head span { color:#0c6c95; font-size:10px; font-weight:950; letter-spacing:.09em; }.test-document-review-head p { margin:0; color:#718596; font-size:11px; }
.staff-test-documents-list { display:grid; gap:8px; margin-top:10px; }
.staff-test-document { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; border:1px solid #d9e7ed; border-radius:12px; background:#f9fcfd; }
.staff-test-document > div { min-width:0; display:grid; gap:3px; }.staff-test-document span { color:#8c6116; font-size:9px; font-weight:950; letter-spacing:.08em; }.staff-test-document strong { overflow:hidden; color:#123753; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.staff-test-document small { color:#718596; font-size:10px; }.staff-test-document-actions { flex:0 0 auto; display:flex!important; grid-template-columns:none!important; align-items:center; gap:7px!important; }.staff-test-document-actions a,.staff-test-document-actions button { min-height:34px; padding:8px 11px; border:0; border-radius:8px; color:#fff; background:#0b6da2; font:inherit; font-size:10px; font-weight:900; text-decoration:none; cursor:pointer; }.staff-test-document-actions button { background:#0c806f; }
.medical-follow-up-dialog { width:min(1080px,calc(100% - 28px)); max-height:calc(100vh - 28px); padding:0; overflow:hidden; border:0; border-radius:20px; color:var(--ink); background:#fff8f8; box-shadow:0 36px 90px rgba(3,15,27,.35); }
.medical-follow-up-dialog::backdrop { background:rgba(3,15,27,.66); backdrop-filter:blur(4px); }
.medical-follow-up-card { max-height:calc(100vh - 28px); overflow:auto; padding:20px; border:2px solid #e3a5aa; border-radius:20px; background:linear-gradient(145deg,#fff,#fff8f8); }
.medical-follow-up-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.medical-follow-up-head > div > span { color:#bb3040; font-size:9px; font-weight:950; letter-spacing:.1em; }.medical-follow-up-head h3 { margin:5px 0 4px; color:var(--navy); font-size:19px; }.medical-follow-up-head p { margin:0; color:#6e8191; font-size:11px; line-height:1.45; }.medical-follow-up-head > strong { padding:7px 10px; border-radius:999px; color:#7b5b20; background:#fff0cf; font-size:9px; letter-spacing:.07em; }
.medical-follow-up-head-actions { flex:0 0 auto; display:flex; align-items:center; gap:9px; }.medical-follow-up-head-actions > strong { padding:7px 10px; border-radius:999px; color:#7b5b20; background:#fff0cf; font-size:9px; letter-spacing:.07em; }.medical-follow-up-head-actions > strong.medical { color:#fff; background:#c62f3e; animation:medical-pulse 1.15s ease-in-out infinite; }.medical-follow-up-head-actions > button { width:38px; height:38px; border:1px solid #e4b4b9; border-radius:10px; color:#9b2d39; background:#fff; font-size:25px; line-height:1; }
.medical-follow-up-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:17px; }.medical-follow-up-form label { display:grid; gap:6px; color:#36556d; font-size:10px; font-weight:850; }.medical-follow-up-form input,.medical-follow-up-form select,.medical-follow-up-form textarea { width:100%; padding:10px 11px; border:1px solid #cddde6; border-radius:9px; color:#163751; background:#fff; font:inherit; }.medical-follow-up-form textarea { resize:vertical; line-height:1.45; }.medical-follow-up-form .wide { grid-column:1/-1; }.medical-publish { grid-column:1/3; display:flex!important; grid-template-columns:auto 1fr!important; align-items:center; }.medical-publish input { width:18px; height:18px; }.medical-follow-up-actions { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:14px; }.medical-follow-up-actions p { margin:0; color:#718596; font-size:10px; line-height:1.45; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.polar-heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.polar-session-select { min-height:34px; max-width:230px; padding:7px 30px 7px 10px; border:1px solid #b9d2df; border-radius:9px; color:#143d59; background:#fff; font-size:11px; font-weight:800; }
.panel-heading h2 { margin:5px 0 4px; font-size:23px; }
.polar-content { display:grid; gap:22px; margin-top:20px; }
.polar-completeness { display:grid; grid-template-columns:minmax(220px,.48fr) minmax(0,1fr); align-items:center; gap:15px; padding:14px 16px; border:1px solid #c8d8e3; border-radius:12px; background:#f5f9fb; }
.polar-completeness > div { display:grid; gap:4px; }.polar-completeness span { color:#60778b; font-size:9px; font-weight:900; letter-spacing:.1em; }.polar-completeness strong { color:#163a55; font-size:13px; }.polar-completeness p { color:#667b8d; font-size:11px; line-height:1.5; }
.polar-completeness.complete { border-color:#a9dbc8; background:#f0fbf6; }.polar-completeness.complete span,.polar-completeness.complete strong { color:var(--green); }
.polar-completeness.incomplete { border-color:#efcf92; background:#fff9ed; }.polar-completeness.incomplete span,.polar-completeness.incomplete strong { color:#8d5b0f; }
.polar-completeness.reported { border-color:#b6dce5; background:#f1fafc; }.polar-completeness.reported span,.polar-completeness.reported strong { color:#14677d; }
.zone-bar .reported-source { background:repeating-linear-gradient(135deg,#a8dbe4 0,#a8dbe4 9px,#d5eef3 9px,#d5eef3 18px); }
.reported-session-summary { grid-column:1/-1; display:grid; gap:5px; padding:14px; border:1px dashed #abd4dd; border-radius:10px; color:#32566c; background:#f1fafc; }
.reported-session-summary strong { color:#123c55; font-size:12px; }.reported-session-summary span { color:#617c8e; font-size:10px; line-height:1.45; }
.polar-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid #dfe9ef; border-radius:14px; overflow:hidden; background:#f7fafc; }
.polar-metrics article { min-width:0; padding:15px; border-right:1px solid #dfe9ef; }
.polar-metrics article:last-child { border:0; }
.polar-metrics strong { display:block; margin:6px 0 2px; color:var(--navy); font-size:25px; }
.polar-metrics small { color:#8291a0; font-size:11px; }
.zone-visual { padding:19px; border-radius:15px; color:#dbe7ed; background:linear-gradient(145deg,#071c32,#0a2a48); }
.zone-title { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.zone-title > div { display:grid; gap:3px; }
.zone-title span { color:#6d8ba4; font-size:10px; font-weight:900; letter-spacing:.1em; }
.zone-title strong { color:#f1f7fa; font-size:16px; }
.zone-title small { color:#7892a8; font-size:11px; }
.zone-bar { width:100%; height:14px; display:flex; overflow:hidden; margin:17px 0; border-radius:999px; background:rgba(255,255,255,.08); }
.zone-bar i { min-width:2px; height:100%; transition:width .45s ease; }
.zone-bar .z1,.zone-dot.z1 { background:var(--z1); }.zone-bar .z2,.zone-dot.z2 { background:var(--z2); }.zone-bar .z3,.zone-dot.z3 { background:var(--z3); }.zone-bar .z4,.zone-dot.z4 { background:var(--z4); }.zone-bar .z5,.zone-dot.z5 { background:var(--z5); }
.zone-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.zone-item { min-width:0; display:grid; gap:5px; padding:10px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(255,255,255,.035); }
.zone-item > span { display:flex; align-items:center; gap:6px; color:#88a0b4; font-size:10px; font-weight:850; }
.zone-dot { width:7px; height:7px; flex:0 0 auto; border-radius:50%; }
.zone-item strong { color:#fff; font-size:14px; }
.zone-item small { overflow:hidden; color:#88a0b4; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.data-empty { min-height:160px; display:grid; align-content:center; justify-items:center; gap:5px; color:#7e8e9d; text-align:center; }
.data-empty strong { color:#40566b; font-size:14px; }
.data-empty span { max-width:340px; font-size:12px; line-height:1.45; }
.wellness-card { display:flex; flex-direction:column; }
.wellness-content { display:grid; gap:15px; margin-top:19px; }
.wellness-score { padding:17px; border-radius:14px; color:#fff; background:linear-gradient(135deg,#0a2a49,#0a3b56); }
.wellness-score span { color:#6f9cb5; font-size:10px; font-weight:900; letter-spacing:.1em; }
.wellness-score strong { display:block; margin:8px 0 3px; font-size:22px; }
.wellness-score small { color:#9ab3c2; font-size:11px; }
.wellness-signals { display:grid; gap:8px; }
.wellness-row { display:grid; grid-template-columns:1fr auto; gap:12px; padding:10px 0; border-bottom:1px solid #e8eef2; }
.wellness-row:last-child { border:0; }
.wellness-row span { color:#607386; font-size:12px; }
.wellness-row strong { color:var(--navy); font-size:13px; }
.trend-card { grid-column:1/2; }
.activity-card { grid-column:2/3; }
.trend-heading { align-items:flex-end; }
.trend-legend { display:flex; gap:12px; color:#687b8f; font-size:11px; }
.trend-legend span { display:flex; align-items:center; gap:5px; }
.trend-legend i { width:9px; height:9px; border-radius:3px; background:#3ea9c2; }
.trend-legend i.rpe { border-radius:50%; background:#ef855e; }
.trend-chart { min-height:220px; margin-top:18px; }
.trend-chart svg { width:100%; height:220px; overflow:visible; }
.chart-grid { stroke:#e6edf2; stroke-width:1; }
.chart-bar { fill:#55b9ce; }
.chart-rpe-line { fill:none; stroke:#ef855e; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.chart-rpe-point { fill:#fff; stroke:#ef855e; stroke-width:2.5; }
.chart-label { fill:#7a8998; font-size:10px; }
.chart-value { fill:#35526c; font-size:10px; font-weight:800; }
.official-activity { display:grid; gap:8px; margin-top:16px; }
.activity-item { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; align-items:start; padding:11px; border:1px solid #e2e9ef; border-radius:11px; background:#fafcfd; }
.activity-item > span { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#0d587f; background:#e2f3f8; font-size:10px; font-weight:900; }
.activity-item div { min-width:0; display:grid; gap:3px; }
.activity-item strong { color:var(--navy); font-size:13px; }
.activity-item small { color:#758597; font-size:11px; line-height:1.4; }
.decision-note { display:flex; align-items:center; gap:12px; padding:13px 15px; box-shadow:none; }
.decision-note i { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:var(--amber); background:var(--amber-bg); font-style:normal; font-weight:900; }
.decision-note p { color:#596c7f; font-size:12px; line-height:1.5; }

.access-panel,.records-panel { padding:clamp(20px,3vw,30px); }
.admin-access { margin-top:22px; }
.bulk-onboarding { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px 24px; padding:20px; border:1px solid #b9dfe5; border-radius:13px; background:linear-gradient(145deg,#f5fdfe,#edf9fb); }
.bulk-onboarding h3 { margin:5px 0; color:var(--navy); font-size:20px; }
.bulk-onboarding p { color:#557080; font-size:12px; line-height:1.5; }
.bulk-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.upload-button { cursor:pointer; }.upload-button.busy { opacity:.55; pointer-events:none; }
.bulk-status { grid-column:1/-1; padding-top:12px; border-top:1px solid #cde7eb; }.bulk-status.error{color:var(--red)}.bulk-status.success{color:var(--green);font-weight:750}
.single-invite-divider { display:flex; align-items:center; gap:12px; margin:22px 0 16px; color:#8290a0; font-size:10px; font-weight:900; letter-spacing:.1em; }
.single-invite-divider::before,.single-invite-divider::after { content:""; height:1px; flex:1; background:var(--line); }
.invite-form { display:grid; grid-template-columns:1fr 1.4fr .75fr .8fr auto; align-items:end; gap:9px; }
.invite-form label { display:grid; gap:5px; }.invite-form .button { min-height:41px; }
.form-rule { margin-top:8px; color:var(--muted); font-size:11px; }
.permission-message { margin-top:18px; padding:13px; border-radius:10px; color:#57697a; background:#f1f4f7; font-size:13px; }
.invite-result { display:grid; grid-template-columns:minmax(180px,.55fr) minmax(250px,1fr) auto; align-items:center; gap:12px; margin-top:16px; padding:14px; border:1px solid #a9dac8; border-radius:12px; background:#edf9f4; }
.invite-result > div:first-child { display:grid; gap:3px; }.invite-result span { color:var(--green); font-size:10px; font-weight:900; }.invite-result small { color:#668176; font-size:11px; }.invite-result > div:last-child { display:flex; gap:7px; }
.invitation-list { display:grid; gap:8px; margin-top:18px; }
.invitation-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px; border:1px solid var(--line); border-radius:11px; }
.invite-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#fff; background:var(--navy); font-size:11px; font-weight:900; }
.invitation-row > div { min-width:0; display:grid; gap:3px; }.invitation-row strong { color:var(--navy); font-size:13px; }.invitation-row small { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.invitation-state { display:flex; align-items:center; gap:8px; }.invitation-state span { padding:5px 7px; border-radius:999px; color:#785212; background:var(--amber-bg); font-size:10px; font-weight:850; }.invitation-state span.accepted { color:var(--green); background:var(--green-bg); }
.revoke-button { min-height:32px; padding:6px 9px; border:1px solid #e0b2b5; border-radius:7px; color:var(--red); background:#fff; font-size:10px; font-weight:900; }
.records-heading { align-items:flex-end; }.record-actions input { width:190px; }.record-actions select { width:140px; }
.record-day-nav { display:flex; align-items:center; gap:4px; padding:3px; border:1px solid #c8dce6; border-radius:10px; background:#f2f8fa; }
.record-day-nav button { border:0; border-radius:7px; padding:8px 10px; background:transparent; color:#135d6d; font:inherit; font-size:12px; font-weight:750; cursor:pointer; white-space:nowrap; }
.record-day-nav button:hover,.record-day-nav button:focus-visible { background:#d9f3f5; outline-color:#159bac; }
.coach-thread-actions { display:flex; justify-content:flex-end; padding:8px 20px 0; }
.coach-thread-actions button:disabled { opacity:.45; cursor:default; }
.empty-state { display:grid; justify-items:center; gap:5px; padding:52px 20px; color:var(--muted); text-align:center; }.empty-state strong { color:#40536a; font-size:14px; }.empty-state span { font-size:12px; }
.table-wrap { overflow:auto; margin-top:20px; border:1px solid var(--line); border-radius:12px; }table { width:100%; min-width:850px; border-collapse:collapse; }th { padding:10px 12px; color:#66778a; background:#f2f5f8; font-size:10px; letter-spacing:.08em; text-align:left; }td { padding:12px; border-top:1px solid var(--line); font-size:12px; vertical-align:top; }
.pilot-id { display:grid; gap:3px; }.pilot-id strong { color:var(--navy); }.pilot-id small { color:var(--muted); font-size:10px; }.entry-pill,.review-pill { display:inline-flex; padding:5px 7px; border-radius:6px; color:#165b8f; background:#e7f2fb; font-size:10px; font-weight:900; }.review-pill.clear{color:var(--green);background:var(--green-bg)}.review-pill.medical{color:#fff;background:#c82f3e;animation:medical-pulse 1.15s ease-in-out infinite}.review-pill.coach{color:#8a5700;background:#fff0cb}.review-pill.data{color:#086a92;background:#e3f4fa}
footer { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); font-size:11px; }footer a { color:var(--blue); font-weight:800; }

.coach-drawer { position:fixed; z-index:80; inset:0; display:grid; grid-template-columns:1fr minmax(360px,520px); }
.coach-backdrop { border:0; background:rgba(3,15,27,.56); backdrop-filter:blur(3px); }
.coach-panel { min-width:0; height:100vh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; color:var(--ink); background:#f4f7f9; box-shadow:-28px 0 60px rgba(3,15,27,.24); animation:drawer-in .26s ease-out; }
.coach-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:24px; color:#fff; background:linear-gradient(140deg,#071c34,#0b3658); }
.coach-panel > header span { color:var(--cyan); font-size:10px; font-weight:900; letter-spacing:.12em; }.coach-panel > header h2 { margin:6px 0 5px; color:#fff; font-size:22px; }.coach-panel > header h2 b { color:var(--cyan); }.coach-panel > header p { color:#94aabd; font-size:12px; }.coach-panel > header button { width:36px; height:36px; flex:0 0 auto; border:1px solid rgba(255,255,255,.17); border-radius:10px; color:#fff; background:rgba(255,255,255,.07); font-size:25px; }
.coach-thread { min-height:0; display:flex; flex-direction:column; gap:10px; overflow-y:auto; padding:22px; }
.coach-thread-empty { margin:auto; max-width:300px; color:#758697; text-align:center; }.coach-thread-empty strong { display:block; margin-bottom:5px; color:#365268; font-size:14px; }.coach-thread-empty span { font-size:12px; line-height:1.45; }
.coach-message { max-width:82%; display:grid; gap:4px; padding:11px 13px; border:1px solid #d9e3ea; border-radius:13px 13px 13px 4px; background:#fff; box-shadow:0 7px 18px rgba(6,25,46,.05); }
.coach-message.staff { align-self:flex-end; border-color:#aadce3; border-radius:13px 13px 4px 13px; background:#e8f9fb; }.coach-message strong { color:#355268; font-size:11px; }.coach-message p { color:#1c3043; font-size:13px; line-height:1.45; white-space:pre-wrap; }.coach-message small { color:#8291a0; font-size:10px; }
.coach-form { display:grid; gap:8px; padding:18px 22px 22px; border-top:1px solid var(--line); background:#fff; }.coach-form textarea { width:100%; resize:vertical; }.coach-form > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }.coach-form small { color:#7b8b99; font-size:10px; }

.weekly-report-dialog { width:min(1180px,calc(100% - 28px)); max-height:calc(100vh - 28px); padding:0; overflow:hidden; border:0; border-radius:22px; color:var(--ink); background:#f4f7f9; box-shadow:0 36px 90px rgba(3,15,27,.35); }
.weekly-report-dialog::backdrop { background:rgba(3,15,27,.66); backdrop-filter:blur(4px); }
.review-dialog { width:min(900px,calc(100% - 28px)); max-height:calc(100vh - 28px); padding:0; overflow:hidden; border:0; border-radius:20px; color:var(--ink); background:#f4f7f9; box-shadow:0 36px 90px rgba(3,15,27,.35); }
.review-dialog::backdrop { background:rgba(3,15,27,.66); backdrop-filter:blur(4px); }
.review-dialog-shell { max-height:calc(100vh - 28px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; }
.review-dialog-shell > header { display:flex; justify-content:space-between; gap:20px; padding:22px 25px; color:#fff; background:linear-gradient(135deg,#6e2028,#b73943); }
.review-dialog-shell > header span { color:#ffd6d9; font-size:10px; font-weight:900; letter-spacing:.12em; }.review-dialog-shell > header h2 { margin:6px 0 4px; color:#fff; font-size:27px; }.review-dialog-shell > header p { color:#f3c4c7; font-size:12px; }
.review-dialog-shell > header button { width:38px; height:38px; border:1px solid rgba(255,255,255,.24); border-radius:10px; color:#fff; background:rgba(255,255,255,.08); font-size:26px; }
.review-dialog-content { min-height:220px; display:grid; align-content:start; gap:8px; overflow:auto; padding:18px; }
.review-dialog-content > button { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:12px; padding:13px; border:1px solid #e5d4d6; border-radius:12px; color:var(--ink); background:#fff; text-align:left; }
.review-dialog-content > button:hover { border-color:#d78f95; background:#fffafa; }.review-dialog-content > button div { display:grid; gap:3px; }.review-dialog-content > button strong { color:var(--navy); font-size:13px; }.review-dialog-content > button b { color:var(--red); font-size:12px; }.review-dialog-content > button small { color:#6e7e8d; font-size:11px; line-height:1.4; }.review-dialog-content time { color:#8794a1; font-size:10px; }
.review-dialog-content > button.medical { border-color:#ebbbc0; background:#fff7f8; }.review-dialog-content > button.medical b { color:#b92434; }.review-dialog-content > button.coach { border-color:#edd7a8; background:#fffaf0; }.review-dialog-content > button.coach b { color:#885709; }.review-dialog-content > button.data { border-color:#b9dfe9; background:#f5fcfe; }.review-dialog-content > button.data b { color:#08698f; }
.review-dialog-shell > footer { min-height:auto; padding:13px 18px; border-top:1px solid var(--line); background:#fff; }.review-dialog-shell > footer span { color:#6f7f8f; font-size:11px; }
.test-document-review-dialog { width:min(980px,calc(100% - 28px)); }
.test-document-review-dialog .review-dialog-shell > header { background:linear-gradient(135deg,#082a4c,#0c7892); }
.test-document-review-body { min-height:0; display:grid; gap:14px; overflow:auto; padding:18px; }
.source-document-callout { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border:1px solid #a9dbe4; border-radius:12px; background:#effbfc; }.source-document-callout > div { min-width:0; display:grid; gap:3px; }.source-document-callout span { color:#0a7992; font-size:9px; font-weight:950; letter-spacing:.09em; }.source-document-callout strong { overflow:hidden; color:#113a55; text-overflow:ellipsis; white-space:nowrap; }.source-document-callout a { flex:0 0 auto; padding:9px 12px; border-radius:8px; color:#fff; background:#0a7198; font-size:10px; font-weight:900; text-decoration:none; }
.test-document-review-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.test-document-review-fields label,.test-comparison-details label { display:grid; gap:5px; color:#496478; font-size:10px; font-weight:850; }.test-document-review-fields input,.test-document-review-fields select,.test-comparison-details input,.review-test-results input { width:100%; min-height:39px; padding:8px 9px; border:1px solid #c8dbe5; border-radius:8px; color:#153853; background:#fff; font:inherit; }
.test-comparison-details { border:1px solid #d8e5eb; border-radius:10px; background:#f8fbfc; }.test-comparison-details summary { padding:11px 12px; color:#526e82; font-size:10px; font-weight:900; cursor:pointer; }.test-comparison-details > div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; padding:0 12px 12px; }
.review-test-results { display:grid; gap:8px; }.review-test-results > div { display:grid; grid-template-columns:130px minmax(150px,1fr) minmax(100px,.5fr) minmax(80px,.35fr); align-items:center; gap:8px; }.review-test-results strong { color:#0f5276; font-size:9px; letter-spacing:.08em; }
@media(max-width:720px){.test-document-review-fields{grid-template-columns:1fr 1fr}.test-comparison-details>div{grid-template-columns:1fr}.review-test-results>div{grid-template-columns:1fr}.source-document-callout{align-items:flex-start;flex-direction:column}}
.weekly-report-shell { max-height:calc(100vh - 28px); display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; overflow:hidden; }
.weekly-report-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:23px 27px; color:#fff; background:radial-gradient(circle at 88% 15%,rgba(75,218,233,.2),transparent 20rem),linear-gradient(135deg,#06192e,#0b4770); }
.weekly-report-head span { color:var(--cyan); font-size:10px; font-weight:900; letter-spacing:.13em; }
.weekly-report-head h2 { margin:5px 0 4px; color:#fff; font-size:29px; }
.weekly-report-head p { color:#a9c2d5; font-size:13px; }
.weekly-report-head button { width:39px; height:39px; flex:0 0 auto; border:1px solid rgba(255,255,255,.2); border-radius:11px; color:#fff; background:rgba(255,255,255,.08); font-size:27px; }
.weekly-report-toolbar { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:13px 22px; border-bottom:1px solid var(--line); background:#fff; }
.weekly-report-toolbar strong { color:#173852; text-align:center; font-size:14px; }
.weekly-report-content { min-height:340px; overflow:auto; padding:20px 22px 25px; }
.report-loading { min-height:300px; display:grid; place-items:center; color:#668098; font-weight:800; }
.report-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.report-summary article { min-width:0; padding:15px; border:1px solid #dce7ee; border-radius:13px; background:#fff; box-shadow:0 8px 22px rgba(6,25,46,.045); }
.report-summary article span { color:#71869a; font-size:9px; font-weight:900; letter-spacing:.1em; }
.report-summary article strong { display:block; margin:6px 0 3px; overflow:hidden; color:#092b4a; font-size:25px; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.report-summary article small { color:#8090a0; font-size:10px; }
.report-summary article.positive { border-color:#9edbc4; background:#f3fcf8; }.report-summary article.positive strong { color:#0d805d; }
.report-summary article.attention { border-color:#efd49b; background:#fffaf0; }.report-summary article.attention strong { color:#9a6411; }
.report-training-targets { display:grid; gap:8px; }
.training-targets-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; color:#17405d; }
.training-targets-heading strong { font-size:12px; letter-spacing:.06em; }
.training-targets-heading small { color:#71869a; font-size:11px; }
.training-targets-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.training-target { min-width:0; display:grid; align-content:start; gap:6px; padding:14px; border:1px solid #dce7ee; border-radius:13px; background:#fff; box-shadow:0 8px 22px rgba(6,25,46,.045); }
.training-target > span { color:#315675; font-size:13px; font-weight:900; }
.training-target > strong { color:#092b4a; font-size:20px; line-height:1.2; }
.training-target > small { color:#6d8194; font-size:11px; line-height:1.35; }
.training-target > b { width:max-content; padding:4px 7px; border-radius:6px; color:#82601e; background:#fff3d8; font-size:10px; letter-spacing:.04em; }
.training-target.met { border-color:#a3dec9; background:#f5fcf9; }.training-target.met > b { color:#087653; background:#e0f6ec; }
.training-target.unconfirmed { border-color:#e8cf99; }
.training-target.below { border-color:#edc1c7; background:#fff6f7; }.training-target.below > b { color:#992f3b; background:#fbe8e9; }
.training-target.missing { border-color:#dce3e9; background:#f5f7f9; }.training-target.missing > b { color:#526574; background:#e9eef2; }
.training-target.recorded > b,.training-target.progress > b { color:#355f88; background:#eaf1f9; }
.training-target-sessions { margin-top:5px; }
.training-target-sessions summary { color:#176584; cursor:pointer; font-size:11px; font-weight:850; }
.training-target-session-list { display:grid; gap:4px; margin-top:7px; }
.training-target-session-list button { border:1px solid #d3e3ed; border-radius:7px; padding:6px 7px; background:#f7fbfd; color:#154c70; text-align:left; font:inherit; font-size:11px; cursor:pointer; }
.training-target-session-list button:hover,.training-target-session-list button:focus-visible { border-color:#2e9bbe; }
.training-session-detail { margin-top:14px; padding:12px 14px; border:1px solid #d2e8ee; border-radius:10px; background:#f8fcfd; }
.training-session-detail strong { color:#15506e; font-size:12px; }
.training-session-detail p { margin:7px 0 0; color:#355468; font-size:12px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.report-chart-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:11px; margin-top:11px; }
.report-chart-card { min-width:0; padding:18px; border:1px solid #dce7ee; border-radius:15px; background:#fff; }
.report-chart-card h3 { margin:0; color:#0b2d4c; font-size:16px; }.report-chart-card > p { margin:4px 0 17px; color:#7a8c9e; font-size:11px; }
.missing-rpe-explanation { display:grid; gap:9px; margin:-5px 0 15px; padding:12px 14px; border:1px solid #f0ca7b; border-left:5px solid #d89012; border-radius:11px; background:#fff8e9; color:#6f4c0b; }
.missing-rpe-explanation div { display:grid; gap:3px; }.missing-rpe-explanation span { color:#a05f00; font-size:10px; font-weight:950; letter-spacing:.12em; }.missing-rpe-explanation strong { color:#624309; font-size:13px; line-height:1.35; }.missing-rpe-explanation p { margin:0; color:#7d6128; font-size:11px; line-height:1.45; }.missing-rpe-explanation small { padding-top:8px; border-top:1px solid rgba(190,130,23,.22); color:#6f5b32; font-size:10px; line-height:1.45; }
.load-chart-layout { display:grid; grid-template-columns:34px minmax(0,1fr); gap:7px; }
.load-axis { height:210px; display:flex; flex-direction:column; justify-content:space-between; padding:20px 0 23px; color:#73879a; font-size:9px; font-weight:800; text-align:right; }
.weekly-bars { height:210px; display:grid; grid-template-columns:repeat(7,1fr); align-items:stretch; gap:9px; border-bottom:1px solid #dce5ec; background:linear-gradient(to bottom,transparent calc(50% - .5px),#edf2f5 calc(50% - .5px),#edf2f5 calc(50% + .5px),transparent calc(50% + .5px)); }
.weekly-bar { min-width:0; height:100%; display:grid; grid-template-rows:20px minmax(0,1fr) 38px; align-items:end; justify-items:center; gap:3px; }
.weekly-bar-track { position:relative; width:min(44px,78%); height:100%; display:flex; flex-direction:column-reverse; justify-content:flex-start; overflow:visible; border-radius:8px 8px 2px 2px; background:rgba(218,229,236,.32); }
.weekly-bar-track .load-segment { width:100%; min-height:0; display:block; flex:0 0 auto; border-radius:4px 4px 1px 1px; }
.weekly-bar-track .load-segment.training { background:linear-gradient(#42cbe0,#137db9); box-shadow:0 5px 12px rgba(20,113,185,.18); }
.weekly-bar-track .load-segment.match { background:linear-gradient(#9d75dc,#6844ac); box-shadow:0 5px 12px rgba(103,68,172,.16); }
.weekly-bar-track .load-segment[style*="height:0%"] { display:none; }
.weekly-bar-track em { position:absolute; top:3px; left:50%; transform:translateX(-50%); width:max-content; max-width:70px; padding:3px 5px; border:1px solid #d89a2c; border-radius:5px; color:#815400; background:repeating-linear-gradient(135deg,#fffaf0 0,#fffaf0 4px,#f2dcae 4px,#f2dcae 8px); font-size:8px; font-style:normal; font-weight:950; white-space:nowrap; }
.weekly-bar.has-missing-rpe > b { color:#a96800; }.report-day.rpe-missing { border-color:#edc574; background:#fffaf0; }.report-day .rpe-missing-note { color:#a16207; font-weight:850; }
.weekly-bar.is-rest > b { color:#087d65; }.weekly-bar.is-rest .weekly-bar-track { background:repeating-linear-gradient(135deg,#e8f8f1 0,#e8f8f1 5px,#d7efe4 5px,#d7efe4 10px); }
.weekly-bar span { color:#708397; font-size:10px; font-weight:850; }.weekly-bar b { color:#234158; font-size:9px; }
.load-legend { display:flex; flex-wrap:wrap; gap:12px; margin-top:11px; color:#61778b; font-size:10px; font-weight:800; }.load-legend i { width:10px; height:10px; display:inline-block; margin-right:5px; border-radius:3px; vertical-align:-1px; }.load-legend i.training{background:#1788c3}.load-legend i.match{background:#734db7}.load-legend i.missing{border:1px solid #aab7c2;background:repeating-linear-gradient(135deg,#fff 0,#fff 3px,#dce3e8 3px,#dce3e8 6px)}
.separated-trends { background:#f7fafc; }
.mini-trend-stack { display:grid; gap:10px; }
.mini-trend { padding:12px 13px 8px; border:1px solid #dbe7ee; border-radius:12px; background:#fff; }
.mini-trend header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.mini-trend header div { display:grid; gap:2px; }
.mini-trend header strong { color:#173750; font-size:12px; }
.mini-trend header span { color:#7a8c9e; font-size:9px; line-height:1.35; }
.mini-trend header b { flex:0 0 auto; padding:5px 7px; border-radius:999px; font-size:9px; }
.mini-trend.wellness header b { color:#087b58; background:#e4f7ef; }
.mini-trend.rpe header b { color:#126fa5; background:#e7f4fb; }
.mini-trend-svg { display:block; width:100%; height:126px; overflow:visible; }
.mini-trend-svg .grid { stroke:#e8eef3; stroke-width:1; }
.mini-trend-svg .trend-line { fill:none; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.mini-trend.wellness .trend-line { stroke:#13a879; }
.mini-trend.rpe .trend-line { stroke:#158dcc; }
.mini-trend.wellness .trend-dot { fill:#13a879; }
.mini-trend.rpe .trend-dot { fill:#158dcc; }
.mini-trend-svg text { fill:#74879a; font-size:9px; font-weight:750; }
.mini-trend-svg .trend-value { fill:#173750; font-size:9px; font-weight:900; paint-order:stroke; stroke:#fff; stroke-width:3px; stroke-linejoin:round; }
.mini-trend-svg .axis-label { font-size:8px; }
.mini-trend-svg .day-label { font-size:9px; }
.mini-trend-svg .rest-label { fill:#087d65; font-size:12px; font-weight:950; paint-order:stroke; stroke:#fff; stroke-width:3px; }
.zone-week { margin-top:11px; padding:18px; border-radius:15px; color:#fff; background:linear-gradient(135deg,#071c32,#0b3658); }
.zone-week-head { display:flex; justify-content:space-between; gap:12px; }.zone-week h3 { margin:0; font-size:16px; }.zone-week p { margin:3px 0 0; color:#86a1b7; font-size:11px; }.zone-week strong { color:var(--cyan); font-size:13px; }
.zone-source-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }.zone-source-badges span { display:flex; align-items:center; gap:6px; padding:6px 8px; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:#a9bed0; background:rgba(255,255,255,.055); font-size:8px; font-weight:900; letter-spacing:.06em; }.zone-source-badges span.verified { border-color:rgba(64,209,225,.35); color:#7ce8f2; }.zone-source-badges span.reported { border-color:rgba(117,199,148,.35); color:#9cdeb5; }.zone-source-badges span.missing { border-color:rgba(255,190,91,.38); color:#ffd187; }.zone-source-badges b { color:inherit; font-size:9px; }
.zone-week-bar { height:18px; display:flex; overflow:hidden; margin:17px 0 12px; border-radius:999px; background:rgba(255,255,255,.08); }.zone-week-bar i { min-width:2px; }.zone-week-bar .z1{background:var(--z1)}.zone-week-bar .z2{background:var(--z2)}.zone-week-bar .z3{background:var(--z3)}.zone-week-bar .z4{background:var(--z4)}.zone-week-bar .z5{background:var(--z5)}
.zone-week-bar.empty { height:38px; align-items:center; justify-content:center; border:1px dashed rgba(164,190,208,.3); background:rgba(255,255,255,.035); }.zone-week-bar.empty span { color:#9bb0c2; font-size:11px; font-weight:750; }
.zone-week-labels { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }.zone-week-labels span { display:grid; grid-template-columns:1fr auto; gap:2px 6px; padding:8px; border-radius:9px; background:rgba(255,255,255,.055); color:#92a9bc; font-size:9px; }.zone-week-labels b { grid-column:1/-1; color:#fff; font-size:12px; }.zone-week-labels small { color:#79d9e4; font-size:9px; font-weight:850; }
.zone-week-insight { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,255,255,.09); }.zone-week-insight span { color:#9bb0c2; font-size:9px; font-weight:900; letter-spacing:.06em; }.zone-week-insight strong { color:#ffd276; }
.report-polar-details { display:grid; gap:12px; margin-top:11px; padding:16px 18px; border:1px solid #9bd8e2; border-radius:14px; background:linear-gradient(135deg,#edfafd,#fff); }
.report-polar-details-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.report-polar-details-head > div { display:grid; gap:4px; }
.report-polar-details-head span { color:#087c9d; font-size:9px; font-weight:950; letter-spacing:.11em; }
.report-polar-details-head h3 { margin:0; color:#0a3151; font-size:16px; }
.report-polar-details-head p { max-width:800px; margin:0; color:#617b8e; font-size:10px; line-height:1.45; }
.report-polar-details-head > strong { flex:0 0 auto; padding:7px 9px; border-radius:999px; color:#087b67; background:#dff6ef; font-size:8px; letter-spacing:.06em; }
.report-polar-link-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.report-polar-link-list article { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px; border:1px solid #d7e7ed; border-radius:10px; background:#fff; }
.report-polar-link-list article > div { min-width:0; display:grid; gap:3px; }
.report-polar-link-list article span { color:#71899b; font-size:8px; font-weight:900; letter-spacing:.07em; }
.report-polar-link-list article strong { overflow:hidden; color:#143b58; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.report-polar-link-list article small { color:#7a8e9e; font-size:9px; }
.report-polar-link-list article a,.report-polar-link-list article > b { flex:0 0 auto; padding:7px 8px; border-radius:8px; font-size:8px; font-weight:950; letter-spacing:.045em; text-decoration:none; }
.report-polar-link-list article a { color:#fff; background:linear-gradient(135deg,#0c6bac,#0c9bab); }
.report-polar-link-list article > b { color:#9a5d0c; background:#fff1d7; }
.report-polar-link-list article.missing { border-style:dashed; }
.report-polar-link-list article.empty { grid-column:1/-1; justify-content:flex-start; }
.report-test-context { display:grid; grid-template-columns:minmax(220px,.42fr) minmax(0,1fr); gap:14px; margin-top:11px; padding:16px 18px; border:1px solid #b9dce7; border-radius:14px; background:linear-gradient(135deg,#f5fcfe,#fff); }
.report-test-context > div:first-child > span { color:#08789d; font-size:9px; font-weight:950; letter-spacing:.1em; }
.report-test-context h3 { margin:5px 0 4px; color:#0a3151; font-size:16px; }
.report-test-context p { margin:0; color:#6c8193; font-size:10px; line-height:1.45; }
.report-test-context > div:last-child { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.report-test-context article { min-width:0; display:grid; gap:4px; padding:10px; border:1px solid #dbe8ee; border-radius:9px; background:#fff; }
.report-test-context article strong,.report-test-context article span,.report-test-context article small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.report-test-context article strong { color:#0d3e5c; font-size:10px; }.report-test-context article span { color:#0a6b91; font-size:10px; font-weight:850; }.report-test-context article small { color:#8291a0; font-size:9px; }
.report-test-context article.empty { grid-column:1/-1; align-content:center; }
.report-days { display:grid; grid-template-columns:repeat(7,minmax(120px,1fr)); gap:7px; margin-top:11px; overflow:auto; }
.report-day { min-width:120px; padding:12px; border:1px solid #dde7ee; border-radius:12px; background:#fff; }.report-day.today { border-color:#55cddd; box-shadow:inset 0 3px #42cbdc; }.report-day.future { border-style:dashed; background:#f7f9fb; opacity:.72; }.report-day > span { color:#73879a; font-size:9px; font-weight:900; letter-spacing:.08em; }.report-day strong { display:block; margin:5px 0 8px; color:#102f4c; font-size:13px; }.report-day small { display:block; margin-top:5px; color:#74879a; font-size:10px; line-height:1.35; }.report-day .clear { color:#0d805d; }.report-day .medical { color:#b92535; font-weight:900; }.report-day .coach { color:#96620c; font-weight:850; }.report-day .data { color:#0a7098; font-weight:850; }
.report-day.rest { border-color:#a3dec9; background:#f4fbf8; }.report-day.rest b { color:#087d65; font-size:13px; }
.week-progress-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:12px; padding:14px 16px; border:1px solid #8dd3df; border-radius:14px; color:#0d5266; background:linear-gradient(135deg,#edfafd,#f7fdfe); box-shadow:0 7px 18px rgba(17,124,145,.06); }
.week-progress-banner div { display:grid; gap:3px; }.week-progress-banner span { color:#13859b; font-size:10px; font-weight:950; letter-spacing:.11em; }.week-progress-banner strong { color:#0b3c55; font-size:15px; }.week-progress-banner p { max-width:560px; margin:0; color:#55778a; font-size:12px; font-weight:700; line-height:1.45; text-align:right; }
.week-progress-banner.future { border-color:#d4dde4; color:#617486; background:#f6f8fa; }.week-progress-banner.future span { color:#718496; }
.weekly-coach-guide { display:grid; gap:5px; margin:12px 0; padding:14px 16px; border:1px solid #a8d5e3; border-radius:12px; background:#f0f9fc; color:#214c65; }
.weekly-coach-guide strong { font-size:14px; }.weekly-coach-guide span { font-size:13px; line-height:1.5; }
.weekly-coach-review { margin-top:12px; padding:19px; border:1px solid #cbdde7; border-radius:16px; background:#fff; box-shadow:0 9px 24px rgba(6,25,46,.045); }
.coach-review-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.coach-review-head span { color:#137fb6; font-size:9px; font-weight:900; letter-spacing:.12em; }.coach-review-head h3 { margin:5px 0 4px; color:#0b2d4c; font-size:18px; }.coach-review-head p { max-width:720px; color:#718497; font-size:11px; line-height:1.45; }
.report-status { flex:0 0 auto; padding:7px 10px; border-radius:999px; color:#87560e; background:#fff2d7; font-size:9px; letter-spacing:.07em; }.report-status.validated { color:#087653; background:#e3f7ef; }.report-status.review { color:#a13d2e; background:#fff0e9; }
.report-status.shared { color:#fff; background:#087653; }
.report-status.progress { color:#075d70; background:#dff6fa; }.report-status.future { color:#647688; background:#edf1f4; }
.report-change-alert { display:grid; gap:3px; margin-top:13px; padding:10px 12px; border:1px solid #edc69b; border-radius:10px; color:#7e4f17; background:#fff8ec; }.report-change-alert strong{font-size:11px}.report-change-alert span{font-size:10px;line-height:1.4}
.report-change-alert.concise { border-color:#a9d7e7; color:#175779; background:#f0f9fc; }
.report-progress-alert { display:grid; gap:4px; margin-top:13px; padding:11px 13px; border:1px solid #83cedb; border-radius:10px; color:#0d5d70; background:#ecfafd; }.report-progress-alert strong { font-size:11px; letter-spacing:.04em; }.report-progress-alert span { font-size:11px; line-height:1.45; }.report-progress-alert.future { border-color:#d5dee5; color:#627587; background:#f6f8fa; }
.coach-review-fields { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:14px; margin-top:15px; }.coach-review-fields label { display:grid; align-content:start; gap:6px; }.coach-review-fields label>span { color:#536c80; font-size:9px; font-weight:900; letter-spacing:.08em; }.coach-review-fields textarea,.coach-review-fields input { width:100%; border:1px solid #cbd8e1; border-radius:10px; color:#17344c; background:#fbfdfe; font:inherit; font-size:11px; line-height:1.55; }.coach-review-fields textarea { min-height:120px; resize:vertical; padding:11px; }.coach-review-fields input { min-height:42px; padding:9px 11px; }.coach-review-fields small,.coach-review-side p { color:#7b8d9e; font-size:9px; line-height:1.4; }.coach-review-side { display:grid; align-content:start; gap:12px; }
.report-composer { min-width:0; display:grid; align-content:start; gap:10px; }
.report-composer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.report-composer-head > div:first-child { display:grid; gap:4px; }
.report-composer-head > div:first-child > span { color:#536c80; font-size:10px; font-weight:950; letter-spacing:.08em; }
.report-composer-head > div:first-child > small,.report-composer-help { color:#6f8497; font-size:11px; line-height:1.45; }
.edit-in-place-note { display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid #96d9e1; border-radius:10px; color:#35677a; background:#edfbfd; font-size:12px; line-height:1.4; }
.edit-in-place-note strong { flex:0 0 auto; color:#0c7186; font-size:11px; letter-spacing:.04em; }
.report-draft-preview { max-height:500px; overflow:auto; padding:14px; border:1px solid #cbdde7; border-radius:12px; background:#f9fcfd; }
.report-draft-preview.is-editable { border-color:#8fcfda; box-shadow:inset 0 0 0 1px rgba(19,133,155,.08); }
.report-draft-preview [data-report-editable] { border-radius:6px; cursor:text; transition:background .15s ease,box-shadow .15s ease; }
.report-draft-preview [data-report-editable]:hover { background:#fff9df; box-shadow:0 0 0 3px #fff9df; }
.report-draft-preview [data-report-editable]:focus { outline:0; background:#fff; box-shadow:0 0 0 3px rgba(24,152,178,.22),0 0 0 1px #1698b2; }
.report-draft-preview .coach-report-title [data-report-editable]:hover { color:#fff; background:rgba(255,255,255,.14); box-shadow:0 0 0 4px rgba(255,255,255,.14); }
.report-draft-preview .coach-report-title [data-report-editable]:focus { color:#fff; background:rgba(255,255,255,.18); box-shadow:0 0 0 3px #73dce7; }
.report-draft-preview .coach-report-status [data-report-editable]:hover { background:#fff5c9; box-shadow:0 0 0 3px #fff5c9; }
.report-draft-preview [data-report-editable]:empty::before { color:#9aabb6; content:"Click and type…"; }
.report-composer textarea { min-height:500px; padding:14px; font-size:14px; line-height:1.65; }
.coach-review-method { display:flex; align-items:flex-start; gap:10px; margin-top:13px; padding:10px 12px; border-radius:10px; color:#5f7588; background:#f2f6f8; font-size:9px; line-height:1.45; }.coach-review-method strong { flex:0 0 auto; color:#274b65; letter-spacing:.06em; }
.coach-review-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:13px; }
.coach-review-actions.simplified-actions { align-items:center; justify-content:space-between; padding:14px; border:1px solid #c9dce6; border-radius:12px; background:#f8fbfc; }
.simplified-actions > div { display:grid; gap:4px; }
.simplified-actions > div > span { color:#31566d; font-size:11px; font-weight:950; letter-spacing:.06em; }
.simplified-actions > div > small { max-width:640px; color:#6c8294; font-size:11px; line-height:1.45; }
.simplified-actions > .button { min-width:230px; }
.report-more-options { margin-top:4px; color:#597286; font-size:11px; }
.report-more-options summary { width:max-content; color:#176f91; font-weight:850; cursor:pointer; }
.report-more-options > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.report-option-button,.report-text-action { padding:0; border:0; color:#176f91; background:transparent; font:inherit; font-size:11px; font-weight:850; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.report-option-button:hover,.report-text-action:hover { color:#0b3f5d; }
.final-report-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:14px; margin-top:15px; }
.final-report-layout > section,.final-report-layout > aside { min-width:0; padding:15px; border:1px solid #cbdde7; border-radius:12px; background:#f9fcfd; }
.final-report-layout > section > span,.final-report-layout > aside > span { color:#167bab; font-size:10px; font-weight:900; letter-spacing:.09em; }
.final-report-text { margin-top:11px; color:#17344c; font-size:14px; line-height:1.68; }
.coach-report-rich { display:grid; gap:12px; }
.coach-report-title { display:grid; gap:4px; padding:14px 16px; border-radius:11px; color:#fff; background:linear-gradient(135deg,#092b4a,#126c91); box-shadow:0 8px 20px rgba(9,43,74,.13); }
.coach-report-title span { color:#74e1ea; font-size:10px; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.coach-report-title strong { color:#fff; font-size:16px; line-height:1.3; }
.coach-report-status { display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border:1px solid #bedde8; border-radius:10px; background:#f0f9fc; }
.coach-report-status > strong { flex:0 0 auto; color:#176f91; font-size:10px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.coach-report-status > div { display:flex; flex-wrap:wrap; gap:6px; }
.coach-report-status span { padding:3px 7px; border-radius:999px; color:#28556d; background:#fff; font-size:11px; font-weight:800; }
.coach-report-section { overflow:hidden; border:1px solid #dce7ed; border-radius:11px; background:#fff; }
.coach-report-section h4 { margin:0; padding:9px 12px; border-left:4px solid currentColor; font-size:12px; font-weight:950; letter-spacing:.045em; text-transform:uppercase; }
.coach-report-section > div { padding:11px 13px 13px; }
.coach-report-section p,.coach-report-intro p { margin:0 0 9px; color:#29465d; font-size:14px; line-height:1.66; }
.coach-report-section p:last-child,.coach-report-intro p:last-child { margin-bottom:0; }
.coach-report-section ol { display:grid; gap:8px; margin:0; padding-left:24px; color:#29465d; }
.coach-report-section li { padding-left:3px; font-size:14px; line-height:1.58; }
.coach-report-section li::marker { color:#a96d12; font-weight:950; }
.coach-report-section.tone-reviewed h4 { color:#087a86; background:#effbfd; }
.coach-report-section.tone-assessment h4 { color:#155c9c; background:#f1f7fc; }
.coach-report-section.tone-clarify { border-color:#ecd29c; }.coach-report-section.tone-clarify h4 { color:#9b6510; background:#fff8e9; }
.coach-report-section.tone-direction { border-color:#b8dfd0; }.coach-report-section.tone-direction h4 { color:#0b7657; background:#effaf5; }
.coach-report-plain { color:#29465d; font-size:14px; line-height:1.68; white-space:pre-wrap; }
.coach-report-plain[data-placeholder] { min-height:120px; padding:12px; border:1px dashed #bed2df; border-radius:9px; }
.coach-report-plain[data-placeholder]:empty::before { color:#8295a5; content:attr(data-placeholder); }
.official-view-note { display:block; margin-top:14px; padding-top:11px; border-top:1px solid #dce7ed; color:#16724f; font-size:10px; font-weight:800; line-height:1.45; }
.final-report-layout > aside { align-content:start; display:grid; gap:10px; background:#f4f7f9; }
.final-report-layout > aside div { color:#29465d; font-size:12px; line-height:1.55; white-space:pre-wrap; }
.final-report-layout > aside small { color:#8a5b16; font-size:10px; font-weight:800; }
.final-report-layout > aside p { margin:0; color:#718497; font-size:10px; line-height:1.45; }
.final-report-layout .share-confirmation { padding:7px 9px; border-radius:8px; color:#087653; background:#e2f6ed; font-weight:850; }
.final-next-step { display:grid; grid-template-columns:minmax(230px,1fr) auto; align-items:center; gap:14px; margin-top:14px; padding:15px; border:1px solid #9bd5c1; border-radius:13px; background:#effaf5; }
.final-next-step > div:first-child { display:grid; gap:3px; }.final-next-step > div:first-child span { color:#0a7a59; font-size:10px; font-weight:950; letter-spacing:.08em; }.final-next-step > div:first-child strong { color:#103f34; font-size:15px; }.final-next-step > div:first-child small { color:#53786f; font-size:11px; line-height:1.4; }
.final-primary-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.final-next-step > .report-text-action { grid-column:1/-1; justify-self:start; }
.final-shared-state { padding:8px 10px; border-radius:9px; color:#087653; background:#ddf4e9; font-size:11px; font-weight:900; }
.report-version-history { margin-top:13px; border:1px solid #d7e3ea; border-radius:11px; background:#f8fbfc; }
.report-version-history > summary { padding:11px 13px; color:#31516a; font-size:10px; font-weight:900; letter-spacing:.07em; cursor:pointer; }
.report-version-history > div { display:grid; gap:7px; padding:0 10px 10px; }
.report-version-history > div > details { border:1px solid #dfe8ed; border-radius:9px; background:#fff; }
.report-version-history > div > details > summary { display:flex; justify-content:space-between; gap:12px; padding:9px 10px; color:#29465d; font-size:10px; cursor:pointer; }
.revision-content { display:grid; gap:6px; padding:10px; border-top:1px solid #e5edf1; }
.revision-content span { color:#6b7f91; font-size:9px; font-weight:900; letter-spacing:.07em; }
.revision-content p { margin:0 0 5px; color:#29465d; font-size:11px; line-height:1.55; white-space:pre-wrap; }
.previous-week-report { margin-top:12px; border:1px solid #b9d7e5; border-radius:14px; background:#f2f9fc; }
.previous-week-report > summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:13px 15px; cursor:pointer; }
.previous-week-report > summary span,.previous-week-report.empty > span { color:#157ca8; font-size:9px; font-weight:900; letter-spacing:.09em; }
.previous-week-report > summary strong,.previous-week-report.empty > strong { color:#153b56; font-size:12px; }
.previous-week-report > summary small,.previous-week-report.empty > small { color:#70879a; font-size:10px; }
.previous-week-report > div { padding:14px 15px; border-top:1px solid #cfe2eb; color:#29465d; font-size:11px; line-height:1.6; white-space:pre-wrap; }
.previous-week-report.empty { display:grid; gap:4px; padding:13px 15px; }
.staff-technical-analysis { margin-top:12px; border:1px solid #cad6df; border-radius:14px; background:#f7fafc; }
.staff-technical-analysis > summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:14px 15px; cursor:pointer; }
.staff-technical-analysis > summary > span { padding:6px 8px; border-radius:7px; color:#fff; background:#193e59; font-size:9px; font-weight:900; letter-spacing:.09em; }
.staff-technical-analysis > summary > div { display:grid; gap:3px; }
.staff-technical-analysis > summary strong { color:#173a54; font-size:13px; }
.staff-technical-analysis > summary small { color:#708598; font-size:10px; line-height:1.4; }
.staff-technical-analysis > summary > b { color:#a24a35; font-size:9px; letter-spacing:.07em; }
.staff-technical-analysis > div { padding:16px; border-top:1px solid #d9e3e9; color:#29465d; background:#fff; font-size:12px; line-height:1.65; white-space:pre-wrap; }
.weekly-report-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 22px; border-top:1px solid var(--line); background:#fff; }.weekly-report-foot span { color:#7a8d9f; font-size:10px; font-weight:800; }
.weekly-report-print { display:none; }
.toast { position:fixed; z-index:100; right:20px; bottom:20px; max-width:min(390px,calc(100% - 40px)); padding:13px 16px; border-radius:10px; color:#fff; background:var(--navy); box-shadow:0 14px 35px rgba(6,25,46,.25); font-size:12px; transform:translateY(120px); opacity:0; transition:.22s; }.toast.visible{transform:translateY(0);opacity:1}.toast.error{background:#8d2730}

@keyframes console-rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes drawer-in { from{transform:translateX(35px);opacity:.7} to{transform:translateX(0);opacity:1} }
@media(max-width:1180px){.app-shell{grid-template-columns:250px minmax(0,1fr)}.sidebar{padding-inline:14px}.analysis-grid{grid-template-columns:1fr}.trend-card,.activity-card{grid-column:auto}.wellness-card{min-height:auto}.team-strip,.signal-grid{grid-template-columns:repeat(2,1fr)}.zone-list{grid-template-columns:repeat(5,minmax(86px,1fr));overflow:auto}.invite-form{grid-template-columns:repeat(2,1fr)}.invite-form .button{grid-column:1/-1}.bulk-onboarding{grid-template-columns:1fr}.bulk-actions{justify-content:flex-start}.invite-result{grid-template-columns:1fr}.login-panel{grid-template-columns:1fr}.staff-performance-tests-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;height:auto;max-height:none;padding:12px 14px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.sidebar::after,.pilot-lockup{display:none}.brand-plate{transform:scale(.86);transform-origin:left center}.console-nav{justify-self:end;grid-template-columns:repeat(3,minmax(70px,1fr));width:min(100%,300px);padding:4px}.console-nav a{padding:7px 4px}.console-nav a span{display:none}.roster-block{grid-column:1/-1;display:block;overflow:hidden}.roster-heading,.roster-search{display:none}.official-sidebar-list{display:flex;overflow:auto;padding:1px 0 2px}.official-side-button{min-width:185px}.workspace{padding:0 14px 28px}.topbar{min-height:88px}.topbar h1{font-size:26px}.topbar-actions{justify-content:flex-end}.security-notice{align-items:flex-start}.official-hero{align-items:flex-start;flex-direction:column}.official-actions{width:100%;justify-content:flex-start}.selected-review{grid-template-columns:1fr}.polar-completeness{grid-template-columns:1fr}.polar-metrics{grid-template-columns:repeat(2,1fr)}.polar-metrics article{border-bottom:1px solid #dfe9ef}.polar-metrics article:nth-child(even){border-right:0}.polar-metrics article:last-child{grid-column:1/-1;border-bottom:0}.panel-heading,.records-heading{align-items:stretch;flex-direction:column}.record-actions{align-items:stretch}.record-actions>*{width:100%!important}.coach-drawer{grid-template-columns:1fr}.coach-backdrop{display:none}.coach-panel{width:100%}.report-summary{grid-template-columns:repeat(2,1fr)}.report-summary article:last-child{grid-column:auto}.report-chart-grid{grid-template-columns:1fr}.weekly-report-toolbar{grid-template-columns:1fr 1fr}.weekly-report-toolbar strong{grid-column:1/-1;grid-row:1}.weekly-report-toolbar button{grid-row:2}.zone-week-labels{grid-template-columns:repeat(5,100px);overflow:auto}.coach-review-head{flex-direction:column}.coach-review-fields,.final-report-layout{grid-template-columns:1fr}.previous-week-report > summary,.staff-technical-analysis > summary{grid-template-columns:1fr}.report-version-history > div > details > summary{align-items:flex-start;flex-direction:column}.staff-performance-tests-list{grid-template-columns:1fr}.test-context-pill{align-self:flex-start}footer{align-items:flex-start;flex-direction:column;justify-content:center}}
@media(max-width:820px){.medical-follow-up-head,.test-document-review-head{align-items:flex-start;flex-direction:column}.medical-follow-up-head-actions{width:100%;justify-content:space-between}.medical-follow-up-form{grid-template-columns:1fr 1fr}.medical-follow-up-form .wide,.medical-publish,.medical-follow-up-actions{grid-column:1/-1}.medical-follow-up-actions{align-items:stretch;flex-direction:column}.medical-follow-up-actions .button{width:100%}.staff-test-document{align-items:flex-start}}
@media(max-width:820px){.report-test-context{grid-template-columns:1fr}.report-test-context>div:last-child{grid-template-columns:1fr}.report-polar-details-head{flex-direction:column}.report-polar-link-list{grid-template-columns:1fr}.report-polar-link-list article{align-items:flex-start;flex-direction:column}.report-polar-link-list article a,.report-polar-link-list article>b{width:100%;text-align:center}}
@media(max-width:560px){body:not(.is-authenticated) .sidebar{display:none}.sidebar .brand-plate{display:none}.sidebar{grid-template-columns:1fr;padding:9px 11px}.console-nav{justify-self:stretch;width:100%;max-width:none}.topbar{align-items:flex-start;flex-direction:column;padding:16px 0}.topbar-actions{width:100%;justify-content:flex-start}.date-field{flex:1}.date-field input{width:100%;min-width:0}.team-strip,.signal-grid{grid-template-columns:1fr 1fr}.team-strip article,.signal-grid article{min-height:100px;padding:13px}.official-hero{padding:18px}.selected-avatar{width:58px;height:58px;border-radius:16px}.official-identity{align-items:flex-start}.official-identity h2{font-size:23px}.polar-card,.wellness-card,.trend-card,.activity-card{padding:18px 15px}.polar-metrics strong{font-size:22px}.zone-visual{padding:15px 12px}.zone-title{align-items:flex-start;flex-direction:column}.zone-list{grid-template-columns:repeat(5,92px)}.trend-legend{margin-top:5px}.login-panel{padding:22px 17px}.invite-form{grid-template-columns:1fr}.bulk-actions{display:grid;grid-template-columns:1fr}.bulk-actions .button{width:100%}.coach-form>div{align-items:stretch;flex-direction:column}.coach-form .button{width:100%}.weekly-report-content{padding:14px 12px 20px}.weekly-coach-review{padding:14px}.coach-review-actions{display:grid;grid-template-columns:1fr}.coach-review-actions .button{width:100%}.simplified-actions > .button{min-width:0}.edit-in-place-note{align-items:flex-start;flex-direction:column}.final-next-step{grid-template-columns:1fr}.final-primary-actions{align-items:stretch;flex-direction:column}.final-primary-actions .button{width:100%}.report-composer-head{align-items:stretch;flex-direction:column}.report-draft-preview,.report-composer textarea{max-height:none;min-height:420px}.load-chart-layout{grid-template-columns:28px minmax(0,1fr)}.weekly-bars{gap:4px}.weekly-bar-track{width:72%}}
@media(max-width:560px){.week-progress-banner{align-items:flex-start;flex-direction:column;gap:8px}.week-progress-banner p{text-align:left}}
@media(max-width:1000px){.training-targets-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.training-targets-heading{align-items:flex-start;flex-direction:column}.training-targets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-target{padding:11px}.training-target > strong{font-size:17px}}
@media(max-width:390px){.training-targets-grid{grid-template-columns:1fr}}
@media(max-width:390px){.team-strip,.signal-grid{grid-template-columns:1fr}.official-identity{flex-direction:column}.official-actions{align-items:stretch;flex-direction:column}.coach-button{width:100%}.polar-metrics{grid-template-columns:1fr}.polar-metrics article{border-right:0;border-bottom:1px solid #dfe9ef!important}.polar-metrics article:last-child{border:0!important}}
@media(prefers-reduced-motion:reduce){.console-content.console-entered>section,.console-content.console-entered>footer{opacity:1;animation:none}.coach-panel,.side-state.medical,.team-review-button.has-medical,.monitor-status.medical,.medical-button.priority,.medical-follow-up-head-actions>strong.medical,.review-pill.medical{animation:none}.zone-bar i{transition:none}}

.official-hero{overflow:visible;flex-wrap:wrap;z-index:2}
.official-hero::after{right:0;width:160px;height:100%;border:0;box-shadow:none;pointer-events:none}
.official-identity{flex:1 1 240px;min-width:0}
.official-actions{flex:1 1 460px}
.programme-history{position:relative;max-width:100%}
.programme-history summary{cursor:pointer;list-style:revert;display:list-item;padding-left:24px}
.programme-history-list{position:absolute;right:0;top:calc(100% + 8px);z-index:25;width:min(380px,calc(100vw - 64px));max-height:360px;overflow:auto;background:#fff;border:1px solid #dfe9ef;border-radius:14px;padding:16px;box-shadow:0 12px 32px #10253c22;text-align:left;color:#10253c;white-space:normal}
.programme-history-list p{font-size:12px;line-height:1.5;margin:0 0 12px;color:#63758b}
.programme-history-list article{display:grid;gap:6px;padding:12px 0;border-top:1px solid #e9eef3;overflow-wrap:anywhere}
.programme-history-list strong{font-size:13px}.programme-history-list small{font-size:12px;color:#63758b;line-height:1.5}
.message-alert{background:#fff0d5!important;color:#8a4200!important;animation:message-pulse 1.8s ease-in-out infinite;border-radius:6px}
@keyframes message-pulse{50%{box-shadow:0 0 0 4px #e99a3540}}
@media(prefers-reduced-motion:reduce){.message-alert{animation:none}}
@media(max-width:820px){.programme-history-list{left:0;right:auto}.official-identity,.official-actions{flex:auto}}

@page { size:A4 landscape; margin:0; }

@media print {
  body.report-printing .pdf-page:first-child .pdf-section-title { min-height:13mm; padding:2mm 1mm 1.5mm; }
  body.report-printing .pdf-page:first-child .pdf-report-header { min-height:14mm; padding-bottom:2mm; }
  html,body { width:297mm; margin:0!important; padding:0!important; background:#fff!important; }
  body.report-printing { min-width:0; overflow:visible; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  body.report-printing > * { display:none!important; }
  body.report-printing #weeklyReportPrint { width:297mm; display:block!important; }
  body.report-printing .pdf-page { position:relative; width:297mm; height:209.5mm; display:flex; flex-direction:column; overflow:hidden; padding:10mm 13mm 9mm; color:#12324d; background:#fff; break-after:page; page-break-after:always; }
  body.report-printing .pdf-page:last-child { break-after:auto; page-break-after:auto; }
  body.report-printing .pdf-page + .pdf-page { break-before:page; page-break-before:always; }
  body.report-printing .pdf-page::before { position:absolute; z-index:0; top:0; left:0; width:100%; height:3mm; content:""; background:linear-gradient(90deg,#0a5fa6 0%,#158ac5 58%,#48cfdf 100%); }
  body.report-printing .pdf-page::after { position:absolute; z-index:0; right:-28mm; bottom:-31mm; width:78mm; height:78mm; border:1px solid rgba(18,99,165,.08); border-radius:50%; content:""; box-shadow:0 0 0 13mm rgba(18,99,165,.026),0 0 0 27mm rgba(18,99,165,.016); }
  body.report-printing .pdf-page > * { position:relative; z-index:1; }
  body.report-printing .pdf-report-header { min-height:16mm; display:flex; align-items:center; justify-content:space-between; gap:10mm; padding-bottom:3mm; border-bottom:1px solid #d5e5f0; }
  body.report-printing .pdf-report-brand { display:flex; align-items:center; gap:3.5mm; }
  body.report-printing .pdf-report-brand .rmp-logo-mark { width:12mm; height:12mm; display:flex; align-items:center; justify-content:center; border-radius:3mm; color:#fff; background:linear-gradient(145deg,#073866,#0f75ba); box-shadow:none; font-size:10pt; }
  body.report-printing .pdf-report-brand div { display:grid; gap:.6mm; }
  body.report-printing .pdf-report-brand strong { color:#0b61a7; font-size:15.5pt; font-weight:950; letter-spacing:.015em; white-space:nowrap; }
  body.report-printing .pdf-report-brand small { color:#678298; font-size:6.5pt; font-weight:900; letter-spacing:.14em; }
  body.report-printing .pdf-report-identity { flex:0 0 88mm; min-width:0; display:block; margin-left:auto; text-align:right; }
  body.report-printing .pdf-report-identity strong,body.report-printing .pdf-report-identity span,body.report-printing .pdf-report-identity small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.report-printing .pdf-report-identity strong { margin-bottom:.6mm; color:#0b2c48; font-size:11pt; }
  body.report-printing .pdf-report-identity span { margin-bottom:.6mm; color:#41647e; font-size:7.8pt; font-weight:800; }
  body.report-printing .pdf-report-identity small { color:#7990a3; font-size:6.8pt; }
  body.report-printing .pdf-section-title { min-height:16mm; display:flex; align-items:flex-end; justify-content:space-between; gap:8mm; padding:3.2mm 1mm 2.5mm; }
  body.report-printing .pdf-section-title div { display:grid; gap:1mm; }
  body.report-printing .pdf-section-title span { color:#1488bd; font-size:6.6pt; font-weight:950; letter-spacing:.14em; }
  body.report-printing .pdf-section-title h1 { margin:0; color:#082b49; font-size:20pt; line-height:1; letter-spacing:-.035em; }
  body.report-printing .pdf-section-title > strong { color:#254b68; font-size:9pt; }
  body.report-printing .pdf-section-title-compact { min-height:15mm; }
  body.report-printing .pdf-kpi-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:2.2mm; }
  body.report-printing .pdf-kpi-grid article { min-width:0; min-height:22mm; display:grid; align-content:center; gap:1.3mm; padding:3mm 3.3mm; border:1px solid #d5e5ef; border-radius:3mm; background:linear-gradient(145deg,#fff,#f7fbfe); box-shadow:0 1.5mm 4mm rgba(7,46,78,.045); }
  body.report-printing .pdf-kpi-grid article::before { width:8mm; height:.7mm; border-radius:2mm; content:""; background:#1d8dc7; }
  body.report-printing .pdf-kpi-grid article:nth-child(2)::before { background:#6b4caf; }
  body.report-printing .pdf-kpi-grid article:nth-child(5)::before,body.report-printing .pdf-kpi-grid article.positive::before { background:#11a377; }
  body.report-printing .pdf-kpi-grid span { overflow:hidden; color:#637d91; font-size:6.2pt; font-weight:950; letter-spacing:.09em; text-overflow:ellipsis; white-space:nowrap; }
  body.report-printing .pdf-kpi-grid strong { overflow:hidden; color:#0a3455; font-size:19pt; line-height:.9; text-overflow:ellipsis; white-space:nowrap; }
  body.report-printing .pdf-kpi-grid small { overflow:hidden; color:#70869a; font-size:6.8pt; text-overflow:ellipsis; white-space:nowrap; }
  body.report-printing .pdf-kpi-grid article.positive { border-color:#9fdcc8; background:#f3fbf8; }
  body.report-printing .pdf-kpi-grid article.positive strong { color:#09825d; }
  body.report-printing .report-training-targets { gap:1.3mm; }
  body.report-printing .training-targets-heading strong { font-size:7pt; }
  body.report-printing .training-targets-heading small { font-size:6.2pt; }
  body.report-printing .training-targets-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:2.2mm; }
  body.report-printing .training-target { min-height:23mm; gap:1mm; padding:2.4mm; border-radius:2.5mm; box-shadow:none; }
  body.report-printing .training-target > span { font-size:7pt; }
  body.report-printing .training-target > strong { font-size:12pt; }
  body.report-printing .training-target > small { font-size:6.2pt; }
  body.report-printing .training-target > b { padding:.6mm 1mm; font-size:5.8pt; }
  body.report-printing .training-target-sessions { display:none; }
  body.report-printing .pdf-chart-grid { height:76mm; display:grid; grid-template-columns:1.16fr .84fr; gap:2.5mm; margin-top:2.5mm; }
  body.report-printing .pdf-chart-grid .report-chart-card { height:76mm; overflow:hidden; padding:4mm; border-color:#d5e5ef; border-radius:3.2mm; box-shadow:0 1.5mm 4mm rgba(7,46,78,.035); }
  body.report-printing .pdf-chart-grid .report-chart-card h3 { color:#0c3657; font-size:11pt; }
  body.report-printing .pdf-chart-grid .report-chart-card > p { margin:1mm 0 2mm; color:#71879a; font-size:6.8pt; }
  body.report-printing .pdf-chart-grid .load-chart-layout { grid-template-columns:9mm minmax(0,1fr); gap:2mm; }
  body.report-printing .pdf-chart-grid .load-axis,body.report-printing .pdf-chart-grid .weekly-bars { height:50mm; }
  body.report-printing .pdf-chart-grid .load-axis { padding:5mm 0 6mm; font-size:6pt; }
  body.report-printing .pdf-chart-grid .weekly-bars { gap:2.6mm; }
  body.report-printing .pdf-chart-grid .weekly-bar { grid-template-rows:5mm minmax(0,1fr) 8mm; gap:.7mm; }
  body.report-printing .pdf-chart-grid .weekly-bar-track { width:min(11mm,72%); }
  body.report-printing .pdf-chart-grid .weekly-bar b { font-size:6.5pt; }
  body.report-printing .pdf-chart-grid .weekly-bar span { font-size:6.4pt; }
  body.report-printing .pdf-chart-grid .weekly-bar-track em { top:.4mm; right:-2mm; padding:.3mm .7mm; font-size:5.2pt; }
  body.report-printing .pdf-chart-grid .load-legend { gap:4mm; margin-top:2.2mm; font-size:6.3pt; }
  body.report-printing .pdf-chart-grid .load-legend i { width:2.4mm; height:2.4mm; margin-right:1.2mm; }
  body.report-printing .pdf-trend-card { background:#f7fafc; }
  body.report-printing .pdf-trend-card .mini-trend-stack { gap:1.8mm; }
  body.report-printing .pdf-trend-card .mini-trend { height:29mm; padding:2.5mm 3mm 1.5mm; border-radius:2.5mm; }
  body.report-printing .pdf-trend-card .mini-trend header strong { font-size:7.3pt; }
  body.report-printing .pdf-trend-card .mini-trend header span { font-size:5.7pt; }
  body.report-printing .pdf-trend-card .mini-trend header b { padding:1mm 1.5mm; font-size:5.7pt; }
  body.report-printing .pdf-trend-card .mini-trend-svg { height:18mm; }
  body.report-printing .pdf-trend-card .mini-trend-svg text { font-size:7px; }
  body.report-printing .pdf-zone-card { min-height:42mm; margin-top:2.5mm; padding:3.5mm 4mm 3mm; border-radius:3.2mm; color:#fff; background:linear-gradient(135deg,#072540,#0a4c78); box-shadow:0 2mm 5mm rgba(4,36,62,.1); }
  body.report-printing .pdf-zone-head { display:flex; align-items:flex-start; justify-content:space-between; gap:6mm; }
  body.report-printing .pdf-zone-head div { display:grid; gap:.8mm; }
  body.report-printing .pdf-zone-head span { color:#61d7e6; font-size:6.3pt; font-weight:950; letter-spacing:.11em; }
  body.report-printing .pdf-zone-head strong { color:#b8cddd; font-size:6.7pt; }
  body.report-printing .pdf-zone-head b { color:#64dfec; font-size:9pt; }
  body.report-printing .pdf-zone-card .zone-week-bar { height:4mm; margin:2.5mm 0 2mm; }
  body.report-printing .pdf-zone-card .zone-week-bar.empty { height:4mm; margin:2.5mm 0 2mm; }
  body.report-printing .pdf-zone-card .zone-week-bar.empty span { font-size:6pt; }
  body.report-printing .pdf-zone-card .zone-week-labels { display:flex; gap:1.7mm; overflow:visible; }
  body.report-printing .pdf-zone-card .zone-week-labels span { min-width:0; flex:1 1 0; display:flex; align-items:center; justify-content:space-between; gap:1.5mm; padding:1.7mm 2mm; border-radius:2mm; font-size:6pt; }
  body.report-printing .pdf-zone-card .zone-week-labels b { min-width:0; display:block; overflow:hidden; font-size:7.2pt; text-overflow:ellipsis; white-space:nowrap; }
  body.report-printing .pdf-zone-card .zone-week-labels small { flex:0 0 auto; font-size:6pt; }
  body.report-printing .pdf-zone-foot { display:flex; align-items:center; justify-content:space-between; gap:5mm; margin-top:2mm; padding-top:1.8mm; border-top:1px solid rgba(255,255,255,.12); }
  body.report-printing .pdf-zone-foot span { color:#acc1d1; font-size:6.2pt; font-weight:900; letter-spacing:.08em; }
  body.report-printing .pdf-zone-foot strong { color:#ffd277; font-size:7.8pt; }
  body.report-printing .pdf-coach-report { min-height:0; flex:1; overflow:hidden; padding:3.5mm; border:1px solid #d1e2ed; border-radius:3.5mm; background:linear-gradient(145deg,#f8fbfd,#fff); }
  body.report-printing .pdf-coach-report .coach-report-rich { height:100%; display:block; }
  body.report-printing .pdf-coach-report .coach-report-title,body.report-printing .pdf-coach-report .coach-report-status,body.report-printing .pdf-coach-report .coach-report-intro { width:100%; margin-bottom:2.5mm; }
  body.report-printing .pdf-coach-report .coach-report-title { padding:3mm 4mm; border-radius:2.5mm; background:linear-gradient(135deg,#073863,#0e6fae); box-shadow:none; }
  body.report-printing .pdf-coach-report .coach-report-title span { color:#8eeaf3; font-size:6.3pt; }
  body.report-printing .pdf-coach-report .coach-report-title strong { font-size:11pt; }
  body.report-printing .pdf-coach-report .coach-report-status { align-items:center; gap:2mm; padding:2mm 3mm; border-radius:2.3mm; }
  body.report-printing .pdf-coach-report .coach-report-status > strong { font-size:6.3pt; }
  body.report-printing .pdf-coach-report .coach-report-status > div { gap:1.5mm; }
  body.report-printing .pdf-coach-report .coach-report-status span { padding:1mm 1.8mm; font-size:6.8pt; }
  body.report-printing .pdf-coach-columns { width:100%; display:table; table-layout:fixed; border-collapse:separate; }
  body.report-printing .pdf-coach-column { width:50%; display:table-cell; vertical-align:top; }
  body.report-printing .pdf-coach-column:first-child { padding-right:1.25mm; }
  body.report-printing .pdf-coach-column:last-child { padding-left:1.25mm; }
  body.report-printing .pdf-coach-report .coach-report-section { width:100%; display:block; margin:0 0 2.5mm; border-radius:2.5mm; break-inside:avoid; }
  body.report-printing .pdf-coach-report .coach-report-section h4 { padding:2mm 3mm; border-left-width:1.2mm; font-size:7.4pt; }
  body.report-printing .pdf-coach-report .coach-report-section > div { padding:2.5mm 3mm 3mm; }
  body.report-printing .pdf-coach-report .coach-report-section p,body.report-printing .pdf-coach-report .coach-report-intro p { margin-bottom:1.8mm; color:#25455f; font-size:8.1pt; line-height:1.38; }
  body.report-printing .pdf-coach-report .coach-report-section ol { gap:1.6mm; padding-left:5.5mm; }
  body.report-printing .pdf-coach-report .coach-report-section li { padding-left:.7mm; font-size:8pt; line-height:1.34; }
  body.report-printing .pdf-validation-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:2.3mm; margin-top:2.7mm; }
  body.report-printing .pdf-validation-strip div { display:grid; gap:.8mm; padding:2.3mm 3mm; border:1px solid #d5e4ed; border-radius:2.3mm; background:#f7fafc; }
  body.report-printing .pdf-validation-strip span { color:#71889a; font-size:5.8pt; font-weight:950; letter-spacing:.09em; }
  body.report-printing .pdf-validation-strip strong { color:#17405e; font-size:7.3pt; }
  body.report-printing .pdf-method-note { display:flex; align-items:flex-start; gap:3mm; margin-top:2mm; padding:2mm 2.5mm; border-radius:2mm; color:#61798c; background:#eef4f7; font-size:6pt; line-height:1.35; }
  body.report-printing .pdf-method-note strong { flex:0 0 auto; color:#194866; letter-spacing:.07em; }
  body.report-printing .pdf-density-compact .pdf-coach-report { padding:2.6mm; }
  body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-title,body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-status,body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-intro,body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-section { margin-bottom:1.8mm; }
  body.report-printing .pdf-density-compact .pdf-coach-column:first-child { padding-right:.9mm; }
  body.report-printing .pdf-density-compact .pdf-coach-column:last-child { padding-left:.9mm; }
  body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-section h4 { padding:1.6mm 2.5mm; font-size:6.8pt; }
  body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-section > div { padding:1.8mm 2.4mm 2.2mm; }
  body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-section p,body.report-printing .pdf-density-compact .pdf-coach-report .coach-report-section li { font-size:7pt; line-height:1.27; }
  body.report-printing .pdf-density-tight .pdf-coach-report { padding:2.2mm; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-title,body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-status,body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-intro,body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-section { margin-bottom:1.4mm; }
  body.report-printing .pdf-density-tight .pdf-coach-column:first-child { padding-right:.7mm; }
  body.report-printing .pdf-density-tight .pdf-coach-column:last-child { padding-left:.7mm; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-title { padding:2mm 3mm; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-title strong { font-size:9pt; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-status { padding:1.4mm 2mm; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-section h4 { padding:1.2mm 2mm; font-size:6.1pt; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-section > div { padding:1.4mm 2mm 1.7mm; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-section p,body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-section li { margin-bottom:1mm; font-size:6.1pt; line-height:1.2; }
  body.report-printing .pdf-density-tight .pdf-coach-report .coach-report-section ol { gap:.8mm; }
  body.report-printing .pdf-report-footer { position:absolute; right:13mm; bottom:4mm; left:13mm; display:flex; align-items:center; justify-content:space-between; gap:8mm; padding-top:2mm; border-top:1px solid #dbe7ef; color:#71899b; font-size:6.2pt; }
  body.report-printing .pdf-report-footer strong { color:#0c68a8; font-size:7pt; }
}

/* Shared screen/PDF HR-zone profile: the ring represents recorded time only. */
.hr-profile { margin-top:14px; padding:24px; border:1px solid #d4e4ed; border-radius:16px; background:#fff; color:#14354d; break-inside:avoid; }
.weekly-hr-panels.with-game { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.weekly-hr-panels.with-game .hr-profile { min-width:0; padding:18px; }
.weekly-hr-panels.with-game .hr-profile-layout { grid-template-columns:120px minmax(0,1fr); gap:16px; }
.weekly-hr-panels.with-game .hr-ring-wrap { width:120px; }
.weekly-hr-panels.with-game .hr-profile h3 { font-size:16px; }
@media (max-width:1100px) { .weekly-hr-panels.with-game { grid-template-columns:1fr; } }
@media print {
  body.report-printing .weekly-hr-panels { flex-shrink:0; }
  body.report-printing .weekly-hr-panels.with-game { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3mm; }
  body.report-printing .weekly-hr-panels.with-game .hr-profile { padding:2mm; }
  body.report-printing .weekly-hr-panels.with-game .hr-profile h3 { font-size:7.5pt; }
  body.report-printing .weekly-hr-panels.with-game .hr-profile-layout { grid-template-columns:23mm minmax(0,1fr); gap:2mm; }
  body.report-printing .weekly-hr-panels.with-game .hr-ring-wrap { width:23mm; }
  body.report-printing .weekly-hr-panels.with-game .hr-zone-table th,body.report-printing .weekly-hr-panels.with-game .hr-zone-table td { font-size:6.5pt; }
  body.report-printing .weekly-hr-panels.with-game .hr-high-intensity { flex-wrap:wrap; }
}
.hr-profile-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.hr-profile h3 { margin:0; font-size:18px; line-height:1.3; letter-spacing:.025em; color:#123b55; }
.hr-profile-head p { margin:5px 0 0; font-size:14px; color:#577283; }
.hr-coverage { flex-shrink:0; padding:7px 10px; color:#176d57; background:#eaf7f1; border-radius:6px; font-size:12px; font-weight:750; }
.hr-coverage.partial { color:#805311; background:#fff5df; }
.hr-profile-layout { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr); gap:32px; align-items:center; margin:16px 0; }
.hr-ring-wrap { position:relative; width:100%; max-width:260px; justify-self:center; }
.hr-ring { display:block; width:100%; height:auto; overflow:visible; }
.hr-ring-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; }
.hr-ring-center strong { color:#13374f; font-size:24px; line-height:1.15; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.hr-ring-center span { max-width:65%; text-align:center; line-height:1.25; margin-top:5px; color:#587384; font-size:12px; font-weight:750; letter-spacing:.06em; }
.hr-zone-table { width:100%; min-width:0; border-collapse:collapse; font-size:15px; font-variant-numeric:tabular-nums; }
.hr-zone-table th,.hr-zone-table td { padding:8px 4px; border-bottom:1px solid #e8eff3; text-align:right; white-space:nowrap; }
.hr-zone-table th:first-child { text-align:left; }
.hr-zone-table thead th { color:#668090; font-size:12px; font-weight:650; }
.hr-zone-table tbody th { color:#153e55; }
.hr-zone-table tbody th i { display:inline-block; width:11px; height:11px; margin-right:9px; border-radius:3px; }
.hr-zone-table tbody tr:nth-child(n+4) { background:#fffbf4; }
.hr-source-summary { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:14px; color:#526e80; font-size:11px; }
.hr-source-summary b { color:#087f8e; font-size:14px; margin-right:3px; }
.hr-source-note { margin:5px 0 0; color:#637c8b; font-size:12px; }
.hr-high-intensity { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px; padding:14px 16px; border-left:4px solid #e4a532; border-radius:4px; background:#fff6e5; }
.hr-high-intensity>span { color:#775422; font-size:13px; font-weight:800; }
.hr-high-intensity>strong { margin-left:auto; font-size:20px; color:#65451a; }
.hr-high-intensity>small { color:#85662c; font-size:12px; }
.hr-coverage-note { margin:12px 0 0; font-size:12px; line-height:1.5; color:#5d7484; }
@media(max-width:600px) {
  .hr-profile { padding:16px; }
  .hr-profile-head { flex-direction:column; gap:9px; }
  .hr-profile h3 { font-size:16px; }
  .hr-profile-layout { grid-template-columns:1fr; gap:10px; margin-top:6px; }
  .hr-ring-wrap { max-width:220px; }
  .hr-profile-detail { min-width:0; }
  .hr-high-intensity { gap:8px; }
  .hr-high-intensity>strong { margin-left:0; }
  .hr-high-intensity>small { flex-basis:100%; }
}
@media print {
  body.report-printing .training-target { min-height:21mm; padding:1.7mm; gap:.7mm; }
  body.report-printing .training-target > strong { font-size:10pt; }
  body.report-printing .pdf-chart-grid,body.report-printing .pdf-chart-grid .report-chart-card { height:54mm; }
  body.report-printing .pdf-chart-grid .load-axis,body.report-printing .pdf-chart-grid .weekly-bars { height:29mm; }
  body.report-printing .pdf-trend-card .mini-trend { height:18.5mm; padding:1.5mm 3mm .5mm; }
  body.report-printing .pdf-trend-card .mini-trend-svg { height:9mm; }
  body.report-printing .hr-profile { flex-shrink:0; margin-top:2mm; padding:2mm 4mm; border-radius:3mm; box-shadow:none; print-color-adjust:exact; }
  body.report-printing .hr-profile-head { flex-direction:row; align-items:center; gap:3mm; }
  body.report-printing .hr-profile h3 { font-size:9pt; }
  body.report-printing .hr-profile-head p { font-size:6.5pt; margin:.5mm 0 0; }
  body.report-printing .hr-coverage { font-size:6pt; padding:1mm 2mm; }
  body.report-printing .hr-profile-layout { grid-template-columns:38mm 1fr; gap:6mm; margin:1mm 0; }
  body.report-printing .hr-ring-wrap { width:30mm; }
  body.report-printing .hr-ring-center strong { font-size:12pt; }
  body.report-printing .hr-ring-center span { font-size:5.5pt; margin-top:.5mm; }
  body.report-printing .hr-zone-table { font-size:7pt; }
  body.report-printing .hr-zone-table th,body.report-printing .hr-zone-table td { padding:.7mm 1mm; font-size:7pt; }
  body.report-printing .hr-zone-table thead th { font-size:6pt; }
  body.report-printing .hr-zone-table tbody th i { width:2mm; height:2mm; margin-right:2mm; }
  body.report-printing .hr-source-summary { margin-top:1mm; font-size:5.6pt; gap:1mm 4mm; }
  body.report-printing .hr-source-summary b { font-size:6.5pt; }
  body.report-printing .hr-source-note { font-size:5.6pt; margin:.5mm 0 0; }
  body.report-printing .hr-high-intensity { padding:1.2mm 2mm; gap:2mm 5mm; }
  body.report-printing .hr-high-intensity>span { font-size:6.5pt; }
  body.report-printing .hr-high-intensity>strong { margin-left:auto; font-size:9pt; }
  body.report-printing .hr-high-intensity>small { font-size:6pt; flex-basis:auto; }
  body.report-printing .hr-coverage-note { margin:1mm 0 0; font-size:5.8pt; line-height:1.2; }
}
.team-admin{padding:24px;border:1px solid #c8dfe9;border-radius:16px;margin-bottom:24px;background:#f5fafc}.team-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.team-members article{padding:20px;border:1px solid #dbe6ed;border-radius:12px;background:white}.team-members h3{font-size:20px;margin:0 0 8px}.team-members details{margin-top:16px}.team-check{display:flex!important;align-items:center;gap:8px;padding:7px 0}.team-check input{width:auto!important}#teamResult{margin-top:20px;overflow-wrap:anywhere}#teamResult input{width:100%;padding:12px}.coach-channel{display:flex;gap:8px;padding:12px 18px}.coach-channel button{padding:9px;border:1px solid #bfd4de;background:#edf5f8;color:#123c55;border-radius:8px;font-weight:bold}.coach-channel button[aria-pressed=true]{background:#087e8e;color:white}.coach-channel-note{padding:0 18px;font-size:12px;color:#56717f}@media(max-width:700px){.team-members{grid-template-columns:1fr}.team-admin{padding:14px}}
.plan-studio{width:min(1100px,96vw);max-height:94vh;border:0;border-radius:18px;padding:28px;color:#12394f;background:#fff}.plan-studio::backdrop{background:#102d48a8}.plan-studio header{display:flex;justify-content:space-between;align-items:center}.plan-studio h2{font-size:27px}.plan-studio button{background:#087f91;color:white;padding:11px 15px;border:0;border-radius:8px;font:inherit;font-weight:bold;cursor:pointer}.plan-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.plan-studio label{display:grid;gap:5px;margin:8px 0}.plan-studio input,.plan-studio select,.plan-studio textarea{font:inherit;padding:10px;border:1px solid #b9d0dc;border-radius:7px;max-width:100%}.plan-studio input[type=checkbox]{width:auto}.plan-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-note{font-size:13px;color:#5d7787}.library-card,.plan-studio fieldset{padding:20px;margin:18px 0;border:1px solid #d6e5ed;border-radius:12px;background:#f8fbfd}.library-card label{display:flex;align-items:center}.plan-studio .completion{border-top:1px solid #d6e5ed;padding-top:15px;margin-top:15px}.plan-studio legend{font-weight:bold;max-width:100%;overflow-wrap:anywhere}#planStatus{white-space:pre-wrap;color:#815517}@media(max-width:650px){.plan-studio{padding:16px}.plan-fields{grid-template-columns:1fr 1fr}.plan-studio fieldset{padding:12px}.plan-tabs button{flex:1;font-size:11px}.plan-studio h2{font-size:22px}}

.staff-workspace .game-button{background:#103b68;color:#fff;border-color:#103b68}
.game-card{margin:0 0 24px;padding:24px}
.match-status-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin:0 0 20px;border-left:5px solid #8c9ba8;background:#f5f8fa;overflow-wrap:anywhere}
.match-status-card>div{min-width:0}
.match-status-card span{display:block;font-size:11px;font-weight:750;letter-spacing:.05em;color:#577081}
.match-status-card strong{display:block;font-size:19px;color:#29495f;margin:6px 0}
.match-status-card p{margin:0;font-size:13px;line-height:1.6;color:#536c7c}
.match-status-card.announced{border-left-color:#bb7422;background:#fff7e9}
.match-status-card.announced strong{color:#895414}
.match-status-card.upcoming{border-left-color:#267cb0;background:#eef7fc}
.match-status-card.recorded{border-left-color:#25816e;background:#eff9f4}
.official-side-button .roster-match-label{font-size:10px;line-height:1.4;margin-top:5px;white-space:normal}
.official-side-button .roster-match-label.announced{color:#895414;font-weight:800}
@media(max-width:650px){.match-status-card{flex-direction:column;align-items:stretch;padding:16px}.match-status-card .button{width:100%;white-space:normal}.match-status-card strong{font-size:18px}}
.game-card .panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.game-details{display:grid;gap:10px;margin-top:14px;color:#213b54}
.game-details article{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 16px;border:1px solid #d8e6ee;border-radius:10px}
.game-details .game-review-note{margin:0;padding:12px 16px;border-radius:10px;background:#fff4df;color:#64430c;font-weight:600}
.weekly-report-content .game-review-note{padding:16px 20px;border:1px solid #e6bd72;border-radius:12px;background:#fff4df;color:#64430c}
.weekly-report-content .game-review-note p{margin:6px 0 0}
@media(max-width:650px){.game-card .panel-heading{align-items:stretch;flex-direction:column}.game-card .game-button{width:100%}}

/* The complete coach conclusion is always editable in one plain-text field. */
.report-composer #weeklyEditedSummary { display:block; width:100%; min-height:280px; max-height:none; resize:vertical; box-sizing:border-box; padding:16px; border:1px solid #7aa7ba; border-radius:10px; background:#fff; color:#16354c; font:inherit; font-size:16px; line-height:1.6; }
.report-composer #weeklyEditedSummary:focus { outline:3px solid #83cbd8; outline-offset:2px; }
#suggestWeeklyConclusion { margin-top:10px; }

.team-create{display:grid;gap:12px;padding:20px;margin:20px 0;border:1px solid #c8dfe9;border-radius:12px;background:white}.team-create h3,.team-create p{margin:0}.team-create label{display:grid;gap:6px}.team-create input,.team-create select{width:100%;padding:12px;border:1px solid #c8dfe9;border-radius:8px;font:inherit}.team-create button{justify-self:start}

/* Staff Manager: two assigned groups, one actionable weekly summary. */
.manager-follow-up{margin:0 0 24px;padding:24px;border:1px solid #d6e4ed;border-radius:20px;background:#f7fbfd;color:#193e54}
.manager-followup-head,.manager-followup-detail>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.manager-followup-head h2{font-size:25px;margin:5px 0}.manager-followup-head p{margin:0;color:#526e7d;font-size:14px}
.manager-week-controls{display:flex;gap:6px}.manager-week-controls button,.manager-priorities button{border:1px solid #c9dce7;border-radius:9px;padding:9px 12px;background:white;color:#195176;cursor:pointer}.manager-week-controls button:disabled{opacity:.4;cursor:default}
.manager-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.manager-coach-card{padding:20px;background:white;border:1px solid #dbe7ee;border-radius:15px}.manager-coach-card header{display:flex;gap:12px;align-items:center;margin-bottom:18px}.manager-coach-card h3{font-size:21px;margin:0}.manager-coach-card p{font-size:13px;color:#617986;margin:4px 0 0}.manager-coach-avatar{background:#e2f2f7;color:#175873;border-radius:12px;padding:12px;font-weight:750}.manager-counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manager-counter{display:flex;flex-direction:column;text-align:left;gap:5px;background:#f5f9fc;border:1px solid #e0eaf1;border-radius:12px;padding:14px;color:#234c64;cursor:pointer}.manager-counter strong{font-size:29px;line-height:1.2}.manager-counter span{font-weight:700;font-size:14px}.manager-counter small{font-size:12px;line-height:1.5;color:#647c8a}.manager-counter.needs-attention{border-left:4px solid #bd7733}.manager-counter:hover{background:#eaf4fa;border-color:#7eafca}.manager-group-link{border:0;background:none;color:#166897;font-weight:700;padding:16px 0 0;cursor:pointer}.manager-priorities{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:18px 0}.manager-priorities strong{font-size:14px}.manager-priorities button{font-size:12px}.manager-priorities b{margin-left:5px;color:#a7472d}.manager-unassigned{font-size:12px;color:#a7472d}.manager-count-definitions{font-size:12px;line-height:1.6;color:#647986}.manager-count-definitions summary{cursor:pointer}.manager-followup-detail{padding:18px;background:white;border:1px solid #d6e4ed;border-radius:12px;margin-bottom:15px}.manager-followup-detail h3{font-size:17px;margin:0}.manager-followup-detail header button{border:0;background:none;font-size:24px;cursor:pointer}.manager-official-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:13px 4px;background:white;border:0;border-top:1px solid #e4edf2;cursor:pointer;color:#264d65}.manager-official-row small{display:block;margin-top:5px;color:#617c8c}.manager-official-row>span:last-child{font-size:12px}.manager-error{padding:18px;background:#fff4ed;border-radius:12px}
@media(max-width:850px){.manager-coach-grid{grid-template-columns:1fr}.manager-followup-head{align-items:flex-start;flex-direction:column}.manager-follow-up{padding:16px}.manager-official-row{align-items:flex-start;flex-direction:column}}

/* Weekly dates stay attached to their day on screen and in exported reports. */
.weekly-bar .weekly-day-label { display:flex; flex-direction:column; align-items:center; gap:1px; line-height:1.25; font-size:12px; }
.weekly-day-label time { display:block; color:#587384; font-size:12px; font-weight:600; white-space:nowrap; }
.mini-trend-svg .day-date { font-size:12px; font-weight:600; }
@media print { body.report-printing .weekly-bar .weekly-day-label, body.report-printing .weekly-day-label time { font-size:6.4pt; } }
