@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;700;900&display=swap";:root{--bg: #07090e;--surface: #0d1018;--card: #111520;--border: #1a2030;--accent: #e8ff47;--blue: #38bdf8;--orange: #fb923c;--red: #f43f5e;--purple: #a78bfa;--green: #34d399;--teal: #2dd4bf;--yellow: #fbbf24;--text: #eef0f8;--muted: #4e5c78;--sub: #7d8fa8}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:14px;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px}.container{max-width:860px;margin:0 auto;padding:0 16px 80px}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.toolbar h1{font-size:16px;color:var(--accent);font-weight:900;letter-spacing:-.3px}.toolbar .actions{display:flex;gap:8px}.icon-btn{width:36px;height:36px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--surface)}.week-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg);scroll-snap-type:x proximity}.week-strip::-webkit-scrollbar{display:none}.week-pill{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:10px;background:var(--card);border:1px solid var(--border);color:var(--sub);scroll-snap-align:center;min-width:80px}.week-pill:hover{border-color:var(--sub)}.week-pill.active{background:var(--accent);color:#000;border-color:var(--accent)}.week-pill .week-num{font-size:12px;font-weight:800}.week-pill .week-range{font-family:DM Mono,monospace;font-size:10px;color:var(--muted);margin-top:2px}.week-pill.active .week-range{color:#0009}.week-nav{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:65px;z-index:9}.week-nav-label{flex:1;text-align:center;font-size:13px;font-weight:800;color:var(--text);letter-spacing:.5px}.arrow-btn{width:36px;height:36px;flex-shrink:0;border-radius:10px;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:18px;font-weight:700}.arrow-btn:hover{border-color:var(--sub)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(280px,1fr));gap:10px;padding:12px 16px 60px;overflow-x:auto;align-items:start}.week-grid::-webkit-scrollbar{height:8px}.week-grid-col{min-width:0}.week-grid-col.is-today .day-card{box-shadow:0 0 0 1.5px var(--accent),0 4px 16px #e8ff4726}@media(max-width:1100px){.week-grid{grid-template-columns:repeat(7,minmax(320px,360px))}}@media(max-width:600px){.week-grid{grid-template-columns:1fr;overflow-x:visible}}.day-card{background:var(--card);border:1.5px solid var(--border);border-radius:16px;margin-bottom:10px;overflow:hidden}.day-card.expanded{border-color:#38bdf873}.day-header{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer}.day-icon-box{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.day-meta{flex:1;min-width:0}.day-date{font-size:15px;font-weight:900;color:var(--text)}.day-badges{display:flex;gap:6px;align-items:center;margin-top:3px;flex-wrap:wrap}.day-totals{text-align:right}.day-kcal{font-family:DM Mono,monospace;font-size:13px;color:var(--yellow)}.day-prot{font-size:11px;color:var(--green)}.pill{font-size:10px;font-weight:800;padding:2px 9px;border-radius:99px;text-transform:uppercase;letter-spacing:.8px}.day-body{border-top:1px solid var(--border);padding:14px;display:flex;flex-direction:column;gap:12px}.training-block{background:var(--surface);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.training-title{font-weight:800;font-size:13px}.exercise-row{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.exercise-row.done .exercise-label{color:var(--muted);text-decoration:line-through}.exercise-label{font-weight:800;font-size:13px}.training-cal{color:var(--orange);font-size:12px;font-weight:700}.training-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:6px}.btn{padding:6px 12px;font-size:12px;font-weight:700;border-radius:8px;background:var(--card);color:var(--sub);border:1px solid var(--border)}.btn:hover{border-color:var(--sub)}.btn-primary{background:#34d39933;color:var(--green);border-color:#34d3994d}.btn-accent{background:var(--accent);color:#000;border:none}.btn-danger{background:#f43f5e26;color:var(--red);border-color:#f43f5e4d}.meal-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.meal-row.skipped{opacity:.5}.meal-time-col{width:64px;flex-shrink:0}.meal-time{color:var(--accent);font-size:11px;font-weight:700}.meal-content{flex:1}.meal-name{color:var(--text);font-weight:800;font-size:13px}.meal-name.strike{text-decoration:line-through}.meal-item{color:var(--sub);font-size:12px}.meal-macros{text-align:right}.meal-macros .kcal{font-family:DM Mono,monospace;font-size:13px;color:var(--yellow)}.meal-macros .prot{font-size:11px;color:var(--green)}.tick-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.sheet{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;width:100%;max-width:420px;max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:12px}.sheet h2{font-size:16px;color:var(--accent);font-weight:900}.sheet label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.sheet label input,.sheet label textarea{font-size:14px}.sheet-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px}.signin{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px}.signin h1{font-size:32px;color:var(--accent);font-weight:900}.signin form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:360px}.signin .err{color:var(--red);font-size:12px}.ad-hoc-button{display:flex;align-items:center;gap:6px;padding:12px;color:var(--accent);font-weight:800;font-size:13px;cursor:pointer}
