:root{color-scheme:dark;--bg:#11170f;--card:#1c2418;--accent:#c2f76b;--muted:#aab7a3;--line:#394332}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f3f6ef;font:16px system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{min-height:44px;padding:11px 18px;border-radius:8px;border:0;background:var(--accent);color:#17220c;font-weight:650;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;border:1px solid var(--line);color:#f3f6ef}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent)}input,select,textarea{color:inherit;background:#10170d;border:1px solid #59644e;border-radius:7px;padding:12px;width:100%;min-height:44px}input[type=checkbox]{width:22px;min-height:22px}textarea{min-height:110px}label{display:block;color:var(--muted);margin:14px 0}label input,label select,label textarea{display:block;margin-top:8px}h1{font-size:clamp(32px,5vw,58px);letter-spacing:-2px;line-height:1.05}h2{font-size:22px;margin-top:0}p{color:var(--muted);line-height:1.6}.brand{font-size:23px;font-weight:900;letter-spacing:-1px}.brand span{color:var(--accent)}aside{position:fixed;inset:0 auto 0 0;width:240px;padding:28px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line)}nav{display:grid;gap:7px;margin:28px 0;overflow:auto;min-height:0}nav button{text-align:left;flex-shrink:0}nav button.active{background:var(--accent);color:#17220c}.identity{margin-top:auto;padding:14px 0;overflow-wrap:anywhere}main{margin-left:240px;padding:30px 40px;max-width:1500px}header,.row{display:flex;justify-content:space-between;align-items:center;gap:18px}.row{padding:16px 0;border-bottom:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--card);margin-bottom:20px;overflow-wrap:anywhere}.number{font-size:36px;color:var(--accent)}.badge,.eyebrow{font-size:12px;letter-spacing:1px;color:var(--accent)}.badge{display:inline-block;padding:8px;border:1px solid var(--line);border-radius:7px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.welcome{margin:0 auto;max-width:1100px;padding:60px 30px}.welcome.narrow{max-width:540px}.welcome h1{margin-top:40px}.welcome .badge{margin-top:30px}.notice{padding:16px;border:1px solid #7b885b;border-radius:9px;background:#29331f;margin:16px 0;color:#e0e9d5}.muted,small{color:var(--muted)}.entry{border-left:2px solid var(--accent);padding:14px 20px;margin:20px 0}.message{padding:15px;background:#11190e;border-radius:8px;margin:12px 0}.pre{white-space:pre-wrap}pre{white-space:pre-wrap;font-size:12px;max-height:300px;overflow:auto}.sets{display:grid;grid-template-columns:40px 1fr 1fr 55px;align-items:center;gap:12px}.exercise-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;border:1px solid var(--line);padding:15px;margin:15px 0}.qr{width:220px;background:white;border-radius:8px}.access-code{font-size:20px;word-break:break-all}.title{margin:34px 0}footer{padding:30px 0;font-size:12px;color:var(--muted)}dialog{background:var(--card);color:inherit;border:1px solid var(--line);border-radius:14px;max-width:min(800px,94vw);width:650px;max-height:90vh;padding:26px}dialog::backdrop{background:#000b}#toast{display:none;position:fixed;bottom:24px;right:24px;max-width:min(550px,90vw);padding:18px;background:var(--accent);color:#17220c;border-radius:10px;z-index:100}#toast.show{display:block}.setup-hero{padding:30px 0 45px}.feature{display:block;font-size:14px;margin:12px 0}hr{border:0;border-top:1px solid var(--line);margin:24px 0}@media(max-width:700px){aside{position:static;width:100%;padding:18px}.identity{display:none}aside>button{display:none}nav{display:flex;overflow-x:auto;margin:15px 0 0}nav button{white-space:nowrap}main{margin:0;padding:18px}header{align-items:flex-start;flex-wrap:wrap}.card{padding:18px}.welcome{padding:30px 20px}.sets{gap:7px}.sets input{padding:10px 5px}.row{flex-wrap:wrap}dialog{padding:20px}h1{letter-spacing:-1px}.title{margin:22px 0}}

.chart{margin:15px 0}.chart svg{display:block;width:100%;max-height:260px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.nutrition-meal{border:1px solid var(--line);padding:16px;margin:15px 0;border-radius:10px}li{margin:12px 0;line-height:1.6}

.nutrition-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.nutrition-totals>div{display:grid;gap:10px;background:var(--bg);padding:18px;border-radius:12px}.nutrition-totals strong{font-size:28px;color:var(--accent)}.nutrition-totals span{color:var(--muted);font-size:14px}.nutrition-totals small{font-size:13px}.nutrition-totals progress{width:100%;height:8px;accent-color:var(--accent)}.nutrition-date{max-width:220px}.nutrition-entry{padding:16px 0;border-bottom:1px solid var(--line)}.nutrition-entry h3{margin:0;white-space:pre-wrap}.nutrition-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}details{margin:18px 0}summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--accent)}@media(max-width:800px){.nutrition-totals{grid-template-columns:1fr 1fr}}@media(max-width:380px){.nutrition-fields{grid-template-columns:1fr}}

.food-results{display:grid;gap:8px;max-height:300px;overflow:auto;margin:12px 0}.food-result{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left}.food-result strong{font-weight:600}.food-result small{white-space:nowrap}.food-result[disabled]{cursor:not-allowed}@media(max-width:500px){.food-result{display:grid;gap:4px}}
.health-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.health-photo-grid img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;border-radius:12px}.health-photo-grid article{min-width:0}#photo-setup-sql{font-family:monospace;font-size:.8rem;width:100%}

/* Athlete start: local gym photograph with readable foreground panels. */
main.athlete-home{position:relative;isolation:isolate;min-height:100vh;background:linear-gradient(90deg,rgba(8,14,9,.68),rgba(8,14,9,.22)),url("/gym-home.jpg") center center/cover no-repeat;background-color:#10170f}main.athlete-home .card{background:rgba(18,27,17,.9);border-color:rgba(194,247,107,.25);box-shadow:0 18px 45px #0005;backdrop-filter:blur(8px)}main.athlete-home .title{padding-top:clamp(28px,10vh,100px)}main.athlete-home p{color:#d4dfcf}main.athlete-home header{background:transparent}main.athlete-home footer{text-shadow:0 2px 5px #000}@media(max-width:700px){main.athlete-home{background-position:65% center}main.athlete-home .title{padding-top:32px}}

/* Shared gym atmosphere across signed-in pages. */
main.gym-page{position:relative;isolation:isolate;min-height:100vh;background:linear-gradient(90deg,rgba(8,14,9,.79),rgba(8,14,9,.45)),url('/gym-home.jpg') center top/cover no-repeat;background-color:#10170f;background-attachment:fixed}
main.gym-page .card{background:rgba(18,27,17,.93);border-color:rgba(194,247,107,.24);box-shadow:0 12px 35px #0004;backdrop-filter:blur(8px)}
main.gym-page header{background:transparent}main.gym-page p{color:#d4dfcf}main.gym-page .title,main.gym-page footer{ text-shadow:0 2px 6px #000 }
main.gym-page[data-page="Training"]{background-position:75% center}
main.gym-page[data-page="Athleten"],main.gym-page[data-page="Übersicht"]{background-position:35% center}
main.gym-page[data-page="Ernährung"]{background-position:90% center}
main.gym-page[data-page="Gesundheit"],main.gym-page[data-page="Befinden"]{background-position:15% center}
main.gym-page[data-page="Start"]{background-image:linear-gradient(90deg,rgba(8,14,9,.68),rgba(8,14,9,.22)),url('/gym-home.jpg')}
@media(max-width:700px){main.gym-page{background-attachment:scroll;background-size:auto 100vh;background-repeat:repeat-y}main.gym-page .card{background:rgba(18,27,17,.95)}}

.nutrition-goals{margin-bottom:18px}.nutrition-goals strong{color:var(--accent)}

.weight-overview{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.weight-overview strong{font-size:30px;color:var(--accent)}.weight-overview small{color:var(--muted)}

.health-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:490px;margin:18px 0}.health-calendar-grid>a,.health-calendar-grid>span{min-height:38px;text-align:center;padding:8px 2px}.health-calendar-grid a{background:#2b3b20;border:1px solid var(--accent);border-radius:7px;text-decoration:none}.health-calendar-grid small{display:block;font-size:8px}tr[id^="health-date-"]:target{background:#344728}tr[id^="health-date-"]{scroll-margin-top:30px}

.support-layout{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:20px}.support-topic{padding:12px 0;border-bottom:1px solid var(--line)}.support-topic strong{display:block;margin-bottom:8px}.support-topic button{width:100%;text-align:left;overflow-wrap:anywhere}.chat-messages{display:flex;flex-direction:column;gap:14px}.chat-bubble{max-width:88%;padding:14px 18px;border-radius:16px;overflow-wrap:anywhere;background:#303b2a;align-self:flex-start}.chat-bubble.mine{align-self:flex-end;background:#355221;border-bottom-right-radius:4px}.chat-bubble.theirs{border-bottom-left-radius:4px}.chat-bubble p{margin:7px 0;color:#f3f6ef!important}.chat-bubble small{color:#c0cdb7}.chat-composer{margin-top:22px}.chat-composer textarea{min-height:80px}@media(max-width:760px){.support-layout{grid-template-columns:1fr}.chat-bubble{max-width:94%}}
