
:root{
  --bg:#f3f1ea;--card:#fff;--ink:#1d2822;--muted:#66736d;--green:#214f3d;
  --green-dark:#173b2e;--line:#d7ded9;--soft:#edf3ef;--danger:#8b3030;
  --shadow:0 10px 28px rgba(30,48,39,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
.topbar{max-width:1080px;margin:auto;padding:22px 16px 10px;display:flex;justify-content:space-between;align-items:center}
.brand{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:800;color:var(--muted)}
h1{margin:2px 0 0;font-size:2rem}h2{margin:0 0 4px}h3{margin:0 0 8px}
.tabs{position:sticky;top:0;z-index:5;max-width:1080px;margin:auto;padding:8px 12px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:rgba(243,241,234,.96);backdrop-filter:blur(8px)}
.tab{border:0;border-radius:12px;padding:11px 8px;background:transparent;color:var(--muted);font-weight:800}
.tab.active{background:var(--green);color:white}
main{max-width:1080px;margin:auto;padding:8px 14px 40px}
.view{display:none}.view.active{display:block}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);margin-bottom:12px}
.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
label{display:grid;gap:6px;font-weight:700}
label.inline{display:flex;align-items:center;gap:8px}
label.inline input{width:auto}
input,select,textarea{width:100%;border:1px solid #bac5bf;border-radius:10px;padding:11px 12px;background:white;color:var(--ink)}
textarea{resize:vertical}
.section-title{display:flex;justify-content:space-between;align-items:end;margin:22px 0 10px}
.section-title p{margin:0;color:var(--muted)}
.exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.exercise-card{border:1px solid var(--line);border-radius:14px;padding:11px;background:#fbfcfb}
.exercise-card.on{border-color:var(--green);background:#f0f6f2}
.exercise-title{display:flex;align-items:center;gap:9px;font-weight:850}
.exercise-title input{width:auto}
.metrics{display:none;margin-top:10px;gap:8px}.exercise-card.on .metrics{display:grid}
.metric{display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;font-size:.92rem}
.notes{margin-top:18px}
.actions,.toolbar,.mini-actions{display:flex;gap:10px;flex-wrap:wrap}
.actions{margin-top:18px}.toolbar{margin-bottom:12px}.toolbar input{flex:1 1 280px}
button,.file-button{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}
.primary{background:var(--green);color:white}.primary:hover{background:var(--green-dark)}
.secondary,.file-button{background:#e7eee9;color:var(--ink)}
.danger{background:#f4dddd;color:var(--danger)}
.small{padding:7px 10px;font-size:.88rem}
.hidden{display:none!important}.muted{color:var(--muted)}
.history-header,.library-head{display:flex;justify-content:space-between;gap:10px}
.history-card h3,.library-card h3{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{background:var(--soft);padding:7px 10px;border-radius:999px;font-size:.9rem}
.history-notes{white-space:pre-wrap;margin-bottom:0}
.library-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px}
.version{font-size:.85rem;color:var(--muted)}
dialog{border:0;border-radius:18px;max-width:720px;width:min(92vw,720px);padding:0;box-shadow:0 20px 60px rgba(0,0,0,.22)}
dialog::backdrop{background:rgba(0,0,0,.38)}
.dialog-form{padding:20px}
.measurement-row{display:grid;grid-template-columns:1.4fr 1fr auto auto;gap:8px;align-items:end;margin-bottom:8px}
.measurement-type-card{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.report-filter{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--line)}
.file-button{display:inline-flex}.file-button input{display:none}
@media(max-width:760px){.grid.two,.exercise-grid,.report-filter{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(3,1fr)}.measurement-row{grid-template-columns:1fr 1fr}.history-header,.library-head{align-items:flex-start}}
@media print{.topbar,.tabs,.report-filter{display:none!important}.view{display:none!important}#reports{display:block!important}body{background:white}.card{box-shadow:none;border:0}}
