:root{--paper:#f5f5ef;--white:#fff;--ink:#203b35;--muted:#75807a;--green:#315c4c;--light:#edf2e9;--line:#e0e6dc;--sage:#cedcbd;--orange:#c98454}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.6}button,input,select{font:inherit}button,a.button{cursor:pointer}button{border:0}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9bae84;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.15;letter-spacing:-.035em}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:44px;margin-bottom:14px}h2{font-size:24px;font-weight:550;margin-bottom:16px}h3{font-size:19px}a{color:var(--green)}label{display:block;color:var(--muted);font-size:12px;font-weight:600}input,select{display:block;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);margin-top:6px;font-size:14px}input[type=date]{min-width:145px}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--muted);margin-bottom:13px}.small{font-size:12px;color:var(--muted);margin-top:16px}.muted{color:var(--muted);font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:37px 22px;background:#f0f2e9;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-size:22px;letter-spacing:-.05em;color:var(--ink);text-decoration:none;font-weight:650;gap:8px}.brand-dot{margin-left:-8px;color:#80a16b}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:37px;background:var(--green);color:var(--sage);font-family:Georgia,serif;font-size:32px;border-radius:11px 11px 11px 2px;line-height:1}.sidebar-label{margin-top:62px;margin-left:13px}.nav{display:flex;align-items:center;gap:14px;background:transparent;color:#68756e;font-size:18px;text-align:left;padding:13px 16px;width:100%;border-radius:8px;margin:5px 0}.nav span{font-size:14px}.nav.active{background:#dfe9d5;color:var(--green);font-weight:650}.nav:hover{background:#e4eadd}.sidebar-bottom{margin-top:auto;font-size:12px;padding:16px 12px;border-top:1px solid var(--line);color:var(--green)}.sidebar-bottom p{color:var(--muted);margin:7px 0}.private-dot{display:inline-block;width:7px;height:7px;background:#668e52;border-radius:50%;margin-right:7px}.content{margin-left:224px;padding:0 44px;max-width:1800px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:14px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span:first-child{margin:0 13px;color:#a8b0a6}.badge{display:inline-flex;padding:6px 11px;font-size:11px;border:1px solid var(--line);border-radius:30px;color:var(--green);background:#f9faf5}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:40px 0 32px}.page-heading p:last-child{color:var(--muted);font-size:14px;margin:0}.primary,.secondary,.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:11px 18px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}.primary{background:var(--green);color:#fff}.primary:hover{background:#224a3c}.secondary{border:1px solid #d7dfd0;background:#fafbf6;color:var(--green)}.secondary:hover{background:var(--light)}.text-button{background:none;padding:0;color:var(--green);font-size:13px;text-align:left;margin-top:18px}.text-button:hover{text-decoration:underline}.danger{color:#a04d3d}.notice{border:1px solid #cedbbc;background:#edf4e5;border-radius:8px;padding:13px 17px;margin-bottom:22px;font-size:14px}.notice.error{background:#fcf0e9;border-color:#ebc6b2;color:#8c3e2d}.empty-state{display:flex;gap:25px;padding:27px;background:#e8efdf;border:1px solid #d5e1c8;border-radius:14px;margin-bottom:26px}.empty-state h2{margin-bottom:10px}.empty-state p{font-size:14px;max-width:700px;color:#64705d}.empty-icon{font-size:40px;line-height:1;color:#668655}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metric-card{border:1px solid var(--line);background:var(--white);padding:22px;border-radius:12px;min-height:152px}.metric-card>span{display:block;color:var(--muted);font-size:12px}.metric-card strong{display:block;font-size:32px;font-weight:550;letter-spacing:-.04em;margin:12px 0 3px;line-height:1.3}.metric-card small{color:var(--muted);font-size:10px}.metric-card.accent{background:#dce8ce;border-color:#d0dfbe}.panel{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:27px;margin-bottom:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading input{max-width:250px}.panel-heading h2{margin-bottom:18px}.chart-controls{display:flex;align-items:end;gap:12px;margin:10px 0 26px;flex-wrap:wrap}.chart-controls label:first-child{flex:1;min-width:180px}.chart-controls button{height:45px}.chart{min-height:270px;position:relative}.chart svg{width:100%;height:270px;overflow:visible}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:250px;color:#a0a99c;font-size:14px}.chart-summary{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr) 1.5fr;gap:15px;padding-top:21px}.chart-summary span{color:var(--muted);font-size:11px}.chart-summary strong{display:block;font-size:23px;margin-top:3px;font-weight:500}.chart-summary p{font-size:11px;color:var(--muted);margin:0}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.bottom-grid .panel>p:not(.eyebrow){color:var(--muted);font-size:13px}.prompt{padding:12px 15px;border-radius:8px;background:#f6f7f2;border:1px solid #e8ebdf;color:#526a5b;font-size:13px;margin:10px 0}.coverage-note{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:var(--muted);font-size:12px}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.connection-grid .panel>p:not(.eyebrow){font-size:14px;color:var(--muted)}.connection-grid button.secondary{margin-top:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.1em}td,th{padding:15px 10px;border-bottom:1px solid var(--line)}td:first-child{max-width:340px;overflow-wrap:anywhere}td button{font-size:12px;color:var(--green);background:var(--light);padding:5px 9px;border-radius:5px}pre{background:#f5f7f1;border:1px solid var(--line);border-radius:8px;padding:20px;overflow:auto;font-size:12px;max-height:400px;white-space:pre-wrap;overflow-wrap:anywhere}.inline-controls{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.workout{padding:20px 0;border-bottom:1px solid var(--line)}.workout-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.workout-header h3{margin-bottom:4px}.workout-header small{color:var(--muted)}.workout details{margin-top:13px;font-size:13px}.audit-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-row span{color:var(--muted)}footer{display:flex;justify-content:space-between;padding:12px 0 28px;color:#8d998b;font-size:11px}dialog{border:1px solid var(--line);border-radius:16px;padding:32px;max-width:520px;width:calc(100% - 32px);color:var(--ink);background:#fff}dialog::backdrop{background:#203b3566;backdrop-filter:blur(4px)}dialog img{display:block;max-width:100%;width:300px;margin:16px auto}dialog li{font-size:13px;margin-bottom:9px}.dialog-close{position:absolute;right:18px;top:12px;font-size:26px;background:none;color:var(--muted)}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,#e0e8d5,transparent 65%)}.auth-card{max-width:470px;width:100%;padding:38px;border:1px solid var(--line);border-radius:18px;background:var(--white);margin:8vh auto}.auth-card .brand-mark{margin-bottom:28px}.auth-card h1{font-size:38px}.auth-card>p{color:var(--muted);font-size:14px}.auth-card form{margin-top:25px}.auth-card form button{display:flex;width:100%;justify-content:space-between;background:var(--green);color:white;padding:13px 16px;border-radius:8px;margin-top:14px}.auth-card input{padding:13px}#login-error{color:#a04d3d;font-size:12px;margin-top:12px}
@media(min-width:1500px){.content{padding:0 65px}.page-heading{padding-top:48px}h1{font-size:50px}}@media(max-width:1100px){.sidebar{width:185px;padding:28px 15px}.content{margin-left:185px;padding:0 26px}.brand{font-size:20px}.metric-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:37px}.chart-summary{grid-template-columns:repeat(3,1fr)}.chart-summary p{grid-column:1/-1}.bottom-grid{grid-template-columns:1fr 1fr}.chart-controls label:first-child{flex-basis:100%}.connection-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:18px 18px 8px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:22px}.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin-top:18px;overflow:auto}.nav{padding:10px;gap:7px;justify-content:center;white-space:nowrap}.nav span{font-size:11px}.content{margin-left:0;padding:0 18px}.topbar{height:65px}.page-heading{padding:29px 0;align-items:start;flex-direction:column;gap:18px}h1{font-size:35px}.metric-grid{gap:10px}.metric-card{padding:17px;min-height:137px}.metric-card strong{font-size:25px}.metric-card small{font-size:9px}.panel{padding:19px}.panel-heading{align-items:start;flex-wrap:wrap}.panel-heading h2{font-size:22px}.bottom-grid{grid-template-columns:1fr;gap:0}.chart-controls label:not(:first-child){width:calc(50% - 8px)}.chart-controls button{width:100%}.chart-summary{gap:8px}.chart-summary span{font-size:9px}.chart-summary strong{font-size:19px}.chart{min-height:230px}.chart svg{height:230px}.badge{font-size:10px}.empty-state{padding:20px;gap:13px}.empty-state button{margin-bottom:10px}.empty-icon{font-size:28px}.auth-card{padding:28px;margin:2vh auto}.auth-card h1{font-size:34px}footer{padding-bottom:20px}}
