/* FORMA v2: mobile-first weekly goals, illustrated exercise picker and polished themes. */
:root{
  --accent:#a8f46a;--accent-strong:#81d344;--surface-input:#151b26;
}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f5f7f6;--panel:#fff;--panel2:#f7f9f8;--panel3:#eaf1eb;
  --line:#e1e7e4;--muted:#718079;--text:#1a2620;--lime:#4d9822;
  --violet:#6453b8;--orange:#d58b38;--shadow:0 18px 55px #19362912;
  --surface-input:#fafcfb;
}
html[data-theme="dark"]{--surface-input:#151b26}
.top-tools{display:flex;gap:12px;align-items:center}
.top-tools .top-date{padding-top:0}
.theme-toggle{gap:8px;min-height:40px;font-size:12px;padding:9px 12px}
.login-theme{display:flex;justify-content:center;margin-top:19px}
.overview-top{margin-bottom:20px}
.weekly-hero{background:radial-gradient(circle at 85% 35%,#b1ef8e27,transparent 47%),var(--panel);display:flex;justify-content:space-between;align-items:center;gap:22px;padding:30px 34px}
.weekly-hero h2{font-size:27px;letter-spacing:-.8px;margin:8px 0}
.weekly-hero p{color:var(--muted);font-size:14px}
.weekly-info{flex:1;min-width:0}
.goal-ring{width:162px;height:162px;min-width:162px;border-radius:50%;background:conic-gradient(var(--accent) var(--goal-pct),var(--line) 0);display:grid;place-items:center;box-shadow:inset 0 0 0 1px #0000000b}
.goal-ring>div{width:132px;height:132px;border-radius:50%;background:var(--panel);display:flex;align-items:center;justify-content:center;flex-direction:column}
.goal-ring strong{font-size:44px;line-height:1;font-weight:860;letter-spacing:-2px}
.goal-ring strong span{font-size:21px;color:var(--muted);letter-spacing:0}
.goal-ring small{font-size:12px;color:var(--muted);margin-top:7px}
.goal-marks{display:flex;gap:8px;margin:18px 0}
.goal-mark{height:36px;width:36px;border:1px solid var(--line);display:grid;place-items:center;border-radius:11px;color:var(--muted);background:var(--panel2)}
.goal-mark.hit{background:#a9f475;color:#172315;border-color:#8cdb53}
.hero-buttons{display:flex;gap:9px;flex-wrap:wrap}
.overview-top+.stats{margin-bottom:20px}
.stat-small{font-size:16px;letter-spacing:0;color:var(--muted)}
.progress-summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:20px;margin-bottom:20px}
.weekly-bars{height:118px;display:flex;gap:8px;align-items:stretch}
.week-col{flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;gap:3px}
.week-track{width:100%;height:80px;display:flex;align-items:flex-end;overflow:hidden;border-radius:7px;background:var(--panel3)}
.week-fill{width:100%;background:linear-gradient(180deg,#baf78e,#74bd45);border-radius:6px 6px 0 0;transition:height .3s}
.week-col small{font-size:9px;white-space:nowrap;color:var(--muted)}
.week-col strong{font-size:11px}
.program-preview{display:flex;gap:7px;margin:5px 0 12px}
.program-preview img{border-radius:10px;width:64px;max-width:30%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#eff6ef}
.pretty-select{position:relative;min-width:0}
.pretty-select-btn{width:100%;min-height:44px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);background:var(--surface-input);color:var(--text);border-radius:12px;padding:10px 13px;font-weight:600;font-size:13px;transition:border .16s,box-shadow .16s}
.pretty-select-btn:hover,.pretty-select-btn[aria-expanded="true"]{border-color:var(--accent-strong);box-shadow:0 0 0 3px #9ced6d1c}
.pretty-select-btn span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select-chevron{color:var(--muted);font-size:21px;line-height:1}
.pretty-options{position:absolute;z-index:110;top:calc(100% + 5px);left:0;right:0;min-width:180px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:5px;box-shadow:0 14px 35px #0e211e32;max-height:230px;overflow-y:auto}
.pretty-options[hidden],.exercise-suggestions[hidden]{display:none!important}
.pretty-options button{width:100%;padding:10px 11px;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:13px;text-align:left;gap:7px}
.pretty-options button:hover,.pretty-options button[aria-selected="true"]{background:#a8f46a22}
.ex-top .exercise-thumb{width:60px;height:55px;border:1px solid var(--line);border-radius:10px;object-fit:cover;background:#eff6ef;flex:none}
.exercise-picker{position:relative;flex:1;min-width:0}
.exercise-picker>input{width:100%}
.exercise-suggestions{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:120;padding:7px;max-height:260px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);box-shadow:0 20px 40px #12241c2e;border-radius:14px}
.suggestion{border:0;width:100%;color:var(--text);background:none;display:flex;align-items:center;gap:11px;padding:6px 9px;text-align:left;border-radius:10px}
.suggestion:hover,.suggestion:focus-visible{background:#a7eb7523}
.suggestion>img{width:49px;height:40px;object-fit:cover;border-radius:8px;background:#eff6ef}
.suggestion>span{flex:1;min-width:0}
.suggestion strong{display:block;font-size:13px}
.suggestion small{display:block;color:var(--muted);font-size:11px}
.suggestion>.icon{color:var(--lime)}
.custom-hint{font-size:12px;color:var(--muted);padding:11px}
.session-ex-head{display:flex;align-items:center;gap:14px;margin-bottom:15px}
.session-ex-head img{width:100px;height:74px;object-fit:cover;border-radius:12px;background:#eff6ef;border:1px solid var(--line)}
.session-ex-head h3{margin:3px 0 0;font-size:16px}
html[data-theme="light"] .sidebar{background:#fff}
html[data-theme="light"] .nav-label{color:#8d9992}
html[data-theme="light"] .nav-btn{color:#56655d}
html[data-theme="light"] .nav-btn:hover{background:#f0f6ef;color:#203323}
html[data-theme="light"] .nav-btn.active{background:#dffbca;color:#235512}
html[data-theme="light"] .nav-btn.active .icon{color:#235512}
html[data-theme="light"] .sidebar-bottom{background:#f3faef;border-color:var(--line)}
html[data-theme="light"] .sidebar-bottom .tiny-circle{background:#a8f46a}
html[data-theme="light"] .eyebrow{color:#458b25}
html[data-theme="light"] .btn:not(.btn-primary):not(.btn-danger):not(.btn-quiet){background:#f8faf9;color:#33463b;border-color:#dbe5df}
html[data-theme="light"] .btn:not(.btn-primary):hover{background:#eef5ef}
html[data-theme="light"] .btn-primary{background:#a8f46a;color:#142410;border-color:#9bec65}
html[data-theme="light"] .btn-primary:hover{background:#bbf88e}
html[data-theme="light"] .btn-danger{background:#fff0f0;color:#b3394f;border-color:#fad0d0}
html[data-theme="light"] .card,html[data-theme="light"] .stat{border-color:#e3e9e5}
html[data-theme="light"] .stat-foot{color:var(--muted)}
html[data-theme="light"] .session-item{background:#f9fbf9;border-color:#e4ebe5}
html[data-theme="light"] .session-item:hover{border-color:#96d878}
html[data-theme="light"] .date-tile{background:#e8f5e5}
html[data-theme="light"] .date-tile span{color:#6c8972}
html[data-theme="light"] .pill{background:#eaf8e6;border-color:#d4efd0;color:#338021}
html[data-theme="light"] .pill.done{background:#e1f7d6;border-color:#c4edb1;color:#267b20}
html[data-theme="light"] .empty{border-color:#d8e5db;background:#fafcfb}
html[data-theme="light"] .program-card .desc{color:var(--muted)}
html[data-theme="light"] .workout-row{border-color:var(--line)}
html[data-theme="light"] .day:hover{background:#edf8eb}
html[data-theme="light"] .day.outside{background:#f6f8f6}
html[data-theme="light"] .day-number{color:#485a4d}
html[data-theme="light"] .event-pill{background:#e7f1e5;color:#28482f}
html[data-theme="light"] .event-pill:hover{background:#d8ebd5}
html[data-theme="light"] .aside-session{background:#f1f8ee}
html[data-theme="light"] .modal{background:#fff;border-color:#dce7df}
html[data-theme="light"] .field label{color:#506259}
html[data-theme="light"] .field input,html[data-theme="light"] .field textarea,html[data-theme="light"] .field select,html[data-theme="light"] .input{background:var(--surface-input);border-color:#dce6df;color:var(--text)}
html[data-theme="light"] .ex-editor{background:#f8faf9;border-color:#e1e9e3}
html[data-theme="light"] .ex-index{background:#e3f7d7;color:#3b8521}
html[data-theme="light"] .ex-top input,html[data-theme="light"] .set-grid input{background:#fff;border-color:#d8e5db;color:var(--text)}
html[data-theme="light"] .set-grid .small,html[data-theme="light"] .set-num{color:var(--muted)}
html[data-theme="light"] .session-ex{background:#f6faf5}
html[data-theme="light"] .form-select{color:var(--text);background:#fff;border-color:var(--line)}
html[data-theme="light"] .chart-grid{stroke:#e3eae4}
html[data-theme="light"] .chart-axis{fill:#6f8474}
html[data-theme="light"] .code-url{background:#f4faf3;border-color:var(--line);color:#396f2b}
html[data-theme="light"] .step-num{background:#e6f8df;color:#438024}
html[data-theme="light"] .warning{background:#fff9ed;color:#9a6f30;border-color:#f0ddbc}
html[data-theme="light"] .toast{color:#284a31;background:#f3fff0;border-color:#9bd287}
html[data-theme="light"] .toast.error{color:#a3293b;background:#fff3f4}
html[data-theme="light"] .login-bg{background:radial-gradient(ellipse at top right,#d9f9cc,transparent 55%),#f6f8f5}
html[data-theme="light"] .loader{border-color:#dce7dc;border-top-color:#6dbd45}
html[data-theme="light"] .mobile-nav{background:#ffffffef;border-color:#e2ebe4}
html[data-theme="light"] .mobile-nav button{color:#65776a}
html[data-theme="light"] .mobile-nav button.active{color:#34851b}
@media(max-width:940px){.top-tools{gap:8px}.theme-toggle{padding:9px}.theme-toggle span:not(.icon){display:none}}
@media(max-width:710px){.weekly-hero{padding:19px;align-items:flex-start;gap:11px}.weekly-hero h2{font-size:23px}.weekly-hero p{font-size:12px}.goal-ring{height:108px;width:108px;min-width:108px}.goal-ring>div{height:88px;width:88px}.goal-ring strong{font-size:29px}.goal-ring strong span{font-size:15px}.goal-ring small{font-size:10px}.goal-marks{margin:14px 0}.goal-mark{height:29px;width:29px}.hero-buttons .btn{font-size:11px;padding:9px}.progress-summary{grid-template-columns:1fr}.weekly-bars{gap:5px}.week-col small{font-size:8px}.stat{padding:14px 10px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-num{font-size:24px}.stat-small{font-size:11px}.session-ex-head img{width:88px;height:66px}.ex-top{gap:7px}.ex-top .exercise-thumb{width:49px;height:48px}.ex-index{width:24px;height:24px}.ex-top input{font-size:12px}.modal-body{overflow-x:hidden}}
@media(max-width:420px){.weekly-hero{flex-direction:column-reverse}.goal-ring{margin-bottom:5px}.hero-buttons{flex-direction:column}.hero-buttons .btn{width:100%}.weekly-info{width:100%}.overview-top+.stats{gap:6px}.stat-num{font-size:21px}.stat{padding:12px 8px}.stat-foot{font-size:9px}.stat-label{font-size:10px}}
