:root{--bg:#f5f8fb;--panel:#ffffff;--text:#111827;--muted:#64748b;--line:#dbe4ee;--primary:#38bdf8;--primaryText:#0b1320;--soft:#eff8ff;--danger:#b91c1c;--dangerSoft:#fee2e2;--accent:#38bdf8;--accent2:#a7f3d0;--blue:#38bdf8;--green:#6ee7b7;--orange:#f2a36f;--warning:#facc15;--radius:24px;--shadow:0 18px 50px rgba(15,23,42,.08)}
[data-theme="dark"]{--bg:#090b10;--panel:#121722;--text:#f8fafc;--muted:#94a3b8;--line:#212b3a;--primary:#a7f3d0;--primaryText:#0b1320;--soft:#172030;--danger:#fca5a5;--dangerSoft:#3f1d1d;--shadow:none;--accent:#38bdf8;--accent2:#a7f3d0;--blue:#38bdf8;--green:#6ee7b7;--orange:#f2a36f;--warning:#facc15}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}code,pre{background:var(--soft);border-radius:12px;padding:.12rem .35rem}pre{overflow:auto;padding:1rem}.app-shell{min-height:100vh;display:flex}.sidebar{width:280px;background:var(--panel);border-right:1px solid var(--line);padding:24px;position:sticky;top:0;height:100vh;overflow:auto}.logo{display:flex;align-items:center;gap:12px;font-weight:800}.logo.center{justify-content:center}.logo-mark{display:inline-flex;width:42px;height:42px;border-radius:14px;align-items:center;justify-content:center;background:var(--primary);color:var(--primaryText);font-weight:900}.nav{display:flex;flex-direction:column;gap:8px;margin-top:28px}.nav a,.nav button,.nav form button{border:0;text-align:left;text-decoration:none;background:transparent;color:var(--muted);padding:13px 14px;border-radius:16px;font:inherit;cursor:pointer;display:flex;align-items:center;gap:10px}.nav-icon{width:28px;height:28px;border-radius:10px;background:var(--soft);display:inline-grid;place-items:center}.nav a.active,.nav a:hover,.nav button:hover,.nav form button:hover{background:var(--soft);color:var(--text)}.main{flex:1;padding:28px 28px 112px;max-width:1180px;margin:0 auto;width:100%}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}.page-title{font-size:clamp(2rem,6vw,3.5rem);line-height:1.05;margin:.1rem 0 0;font-weight:850;letter-spacing:-.05em}.eyebrow,.section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:850}.section-title{margin:0 0 12px}.small{font-size:.88rem}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.app-grid-gap{margin-top:16px}.card,.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:16px}.app-card{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--panel);border-color:rgba(255,255,255,.08)}.glass-card{background:rgba(255,255,255,.04);backdrop-filter:blur(14px)}.login-card{width:min(460px,calc(100vw - 28px));margin:auto}.login-card.wide{width:min(900px,calc(100vw - 28px))}.guest-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{display:flex;gap:12px;flex-wrap:wrap}label{display:grid;gap:7px;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);border-radius:16px;padding:14px 15px;font:inherit}textarea{min-height:110px}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:16px;padding:12px 16px;background:rgba(255,255,255,.03);color:var(--text);text-decoration:none;font-weight:800;cursor:pointer}.btn.primary{background:var(--primary);color:var(--primaryText);border-color:var(--primary)}.btn.large{padding:17px 20px;font-size:1.05rem;border-radius:20px}.btn.danger{border-color:var(--danger);color:var(--danger)}.icon-btn{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:18px;background:var(--soft);border:1px solid var(--line);text-decoration:none;color:var(--text);font-weight:900}.small-icon{width:46px;height:46px;background:#f5f5f2;color:#111;font-size:1.4rem}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.alert{background:#dcfce7;border:1px solid #86efac;color:#14532d;padding:12px 14px;border-radius:14px;margin-bottom:16px}.alert.error{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}.token-alert{display:grid;gap:8px}.token-alert code{word-break:break-all}.badge,.pill{display:inline-flex;width:max-content;align-items:center;gap:6px;background:var(--soft);border-radius:999px;padding:6px 11px;font-size:.82rem;font-weight:800}.pill.accent,.badge.accent{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.pill input{width:auto}.danger-soft{background:var(--dangerSoft);color:var(--danger)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.actions form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-actions form{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:10px}.admin-actions input,.admin-actions select{min-width:160px}.metric{display:flex;justify-content:space-between;align-items:center;gap:12px}.metric strong{display:block;font-size:1.8rem;margin-top:4px}.table-list{display:grid;gap:10px}.table-list.compact{gap:8px}.row-card{display:grid;gap:8px;padding:15px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.inline-row{grid-template-columns:1fr auto auto;align-items:center}.kpi-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.user-admin-row{background:var(--bg)}
.status-hero{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:4px 0 28px;margin-bottom:28px}.status-hero h2{font-size:clamp(2rem,7vw,3rem);line-height:1.05;margin:6px 0 0;letter-spacing:-.05em}.card-head{display:flex;align-items:center;gap:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.card-head a{margin-left:auto;text-decoration:none}.dot{width:10px;height:10px;border-radius:999px;background:var(--text);display:inline-block}.coach-card p{font-size:1.25rem;line-height:1.55;color:#b9b9b9}.split-line{display:flex;justify-content:space-between;gap:14px;align-items:center}.big-number{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:10px;margin:24px 0}.big-number strong{font-size:clamp(3rem,10vw,5.5rem);font-weight:250;letter-spacing:-.08em}.big-number span{color:var(--muted);font-size:1.4rem;margin-bottom:16px}.big-number em{font-style:normal;font-size:2.5rem;margin-bottom:14px}.progress-line,.mini-line{height:5px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden}.progress-line i,.mini-line i{display:block;height:100%;background:var(--accent2);border-radius:999px}.progress-line.full{grid-column:1/-1;width:100%}.mini-line{height:2px;margin-top:10px}.macro-row{display:grid;gap:14px;margin-top:20px}.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.macro-row>div{border-right:1px solid var(--line);padding-right:14px}.macro-row>div:last-child{border-right:0}.macro-row span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.macro-row strong{font-size:1.25rem}.macro-row small{color:var(--muted)}.weight-number{font-size:clamp(4rem,13vw,6rem);font-weight:250;letter-spacing:-.08em;margin:22px 0}.weight-number span{font-size:1.4rem;color:var(--muted);letter-spacing:0;margin-left:8px}.action-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.action-card h3{margin:0 0 4px}.action-card p{margin:0}.action-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-size:1.35rem;font-weight:900}.action-icon.blue{background:rgba(91,140,255,.15);color:var(--blue)}.action-icon.green{background:rgba(149,170,114,.18);color:var(--accent2)}.action-icon.orange{background:rgba(207,116,73,.18);color:var(--orange)}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.segmented-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px;margin-bottom:28px}.segmented-tabs a{text-align:center;text-decoration:none;padding:16px;border-radius:999px;color:var(--muted);font-weight:800}.segmented-tabs a.active{background:var(--accent2);color:#15170f}.weekday-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:center;margin-top:24px}.weekday-strip a,.weekday-strip span{display:grid;place-items:center;gap:5px;text-decoration:none;color:var(--muted);min-height:58px;border-radius:18px}.weekday-strip .active{background:var(--accent2);color:#15170f}.weekday-strip.tiny span{min-height:40px;font-size:.85rem}.date-card .btn{width:auto}.macro-total{display:flex;align-items:baseline;gap:8px;margin:18px 0}.macro-total strong{font-size:2.4rem}.macro-total span{color:var(--muted);font-size:1.2rem}.action-list{display:grid;gap:12px}.list-action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;text-decoration:none}.list-action strong,.list-action small{display:block}.list-action small{color:var(--muted);margin-top:3px}.disabled-action{opacity:.45}.meal-slots{display:grid;gap:0}.meal-slot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.meal-slot:last-child{border-bottom:0}.meal-icon{width:52px;height:52px;border-radius:16px;background:rgba(149,170,114,.1);display:grid;place-items:center;color:var(--accent2);font-size:1.3rem}.meal-slot strong,.meal-slot small{display:block}.meal-slot small{color:var(--muted);margin-top:4px}.meal-add{font-size:1.15rem;text-decoration:none;color:var(--accent2);font-weight:800}.meal-item-card{margin:4px 0 12px 68px}.water-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.glass-icon{font-size:3rem;color:var(--muted)}.recipe-feed{display:grid;gap:22px}.recipe-intro{display:flex;align-items:center;gap:14px;color:var(--muted)}.recipe-card{overflow:hidden}.recipe-card-top{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);margin:-22px -22px 20px;padding:22px}.recipe-card h2{margin:0;font-size:1.6rem;letter-spacing:-.03em}.nutrition-pill-row{display:flex;gap:14px;flex-wrap:wrap;background:var(--soft);border-radius:22px;padding:16px 18px;margin:16px 0;color:var(--muted);font-weight:800}.nutrition-pill-row span:nth-child(2),.nutrition-pill-row span:nth-child(3){color:var(--blue)}.chip-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.chip{border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--muted);background:rgba(255,255,255,.025)}details{border-top:1px solid var(--line);padding:16px 0;color:var(--muted)}summary{cursor:pointer;color:var(--muted);font-size:1.1rem}.recipe-actions .btn{min-width:110px}.section-block{margin-top:22px}.menu-card{padding:0;overflow:hidden}.menu-card a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:22px;text-decoration:none;border-bottom:1px solid var(--line)}.menu-card a:last-child{border-bottom:0}.menu-card strong,.menu-card small{display:block}.menu-card small{color:var(--muted);margin-top:4px}.calendar-buttons{display:flex;gap:12px}.progress-card{padding:30px}.selected-workout{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;border-color:var(--accent)}.selected-workout h2{font-size:1.7rem;margin:0}.day-badge{width:52px;height:52px;border-radius:18px;background:rgba(207,116,73,.2);color:var(--accent);display:grid;place-items:center;font-weight:900}.selected-workout-action{grid-column:2/-1}.back-title{display:flex;gap:18px;align-items:center;margin-bottom:26px}.back-title h1{margin:0;font-size:2.4rem;letter-spacing:-.05em}.back-title p{margin:3px 0 0}.meso-progress-card{display:grid;gap:22px}.meso-current h2{font-size:2.5rem;margin:0;letter-spacing:-.05em}.meso-current p{font-size:1.2rem;margin:6px 0 0}.meso-current>div:last-child{display:grid;text-align:right;color:var(--muted);gap:4px}.timeline-list{display:grid;gap:14px}.week-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;margin-bottom:0}.week-row.active{border-color:var(--accent)}.week-number{width:48px;height:48px;border-radius:999px;background:var(--soft);display:grid;place-items:center;font-weight:900;color:var(--muted)}.week-row.active .week-number{background:var(--accent);color:#18120f}.week-row h3{margin:0;font-size:1.35rem}.week-row p{margin:5px 0 0}.phase-badge{border-radius:12px;padding:8px 12px;font-weight:850}.phase-badge.accumulation{background:rgba(91,140,255,.12);color:var(--blue)}.phase-badge.intensification{background:rgba(245,158,11,.12);color:#f59e0b}.phase-badge.deload{background:rgba(85,208,113,.12);color:var(--green)}.meso-actions{display:grid;gap:14px;margin-top:24px}.meso-actions form{display:grid}
.mobile-bottom-nav{display:none}.responsive-list{display:grid;gap:10px}.list-row{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
@media (max-width:900px){.sidebar{display:none}.main{padding:32px 16px 118px}.grid,.grid.two,.form-grid.two{grid-template-columns:1fr}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:14px;right:14px;bottom:14px;z-index:30;background:rgba(26,26,26,.92);backdrop-filter:blur(20px);border:1px solid var(--line);box-shadow:0 10px 40px rgba(0,0,0,.35);border-radius:32px;padding:8px}.mobile-bottom-nav a{display:grid;gap:3px;text-align:center;text-decoration:none;color:var(--muted);font-size:1rem;padding:9px 4px;border-radius:26px;min-width:0}.mobile-bottom-nav a span:last-child{font-size:.72rem;font-weight:700}.bottom-icon{display:grid;place-items:center;font-weight:900}.mobile-bottom-nav a.active{background:var(--primary);color:var(--primaryText)}.topbar{align-items:flex-start}.topbar .eyebrow{display:none}.topbar .icon-btn{width:46px;height:46px}.quick-actions{grid-template-columns:1fr 1fr}.btn{width:100%}.actions,.actions form,.admin-actions form{width:100%}.inline-row{grid-template-columns:1fr}.admin-actions input,.admin-actions select{min-width:0}.big-number{grid-template-columns:auto 1fr;}.big-number em{grid-column:2;text-align:right}.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.macro-row{gap:8px}.macro-row strong{font-size:1rem}.card{padding:20px}.recipe-card-top{margin:-20px -20px 18px;padding:20px}.recipe-intro{display:grid}.water-card{grid-template-columns:auto 1fr}.water-card form{grid-column:1/-1}.meal-item-card{margin-left:0}.week-row{grid-template-columns:auto 1fr}.week-row .phase-badge,.week-row .pill{grid-column:2}.selected-workout{grid-template-columns:auto 1fr}.selected-workout .pill{grid-column:2}.selected-workout-action{grid-column:1/-1}.calendar-buttons .icon-btn{width:46px;height:46px}.guest-wrap{align-items:flex-start;padding-top:48px}}
.target-editor{margin-top:18px;border-top:1px solid var(--line)}.target-editor summary{font-size:.95rem;font-weight:850;color:var(--text)}.target-form{padding-top:14px}.plain-arrow{border:0;background:transparent;color:var(--text);font:inherit;font-size:1.8rem;font-weight:900;cursor:pointer}.plain-arrow:disabled{opacity:.3}.stacked-actions form{align-items:end}.stacked-actions select{min-width:150px}.upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:16px}.upload-thumb{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.025)}.upload-thumb img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.upload-thumb span{display:block;padding:9px 10px;color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-action input[type="hidden"]{display:none}.list-action .plain-arrow{justify-self:end}.calories-card details p{margin-bottom:0}
@media (max-width:900px){.stacked-actions form{width:100%;display:grid;grid-template-columns:1fr}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.target-form{grid-template-columns:1fr}.plain-arrow{width:auto}.list-action{grid-template-columns:auto 1fr auto}}

/* v0.1.4 Recipe creator/import */
.recipe-tabs.three-tabs{grid-template-columns:1fr 1fr 1fr}.recipe-builder-card h2,.recipe-import-card h2{margin-top:0}.recipe-builder-form .full,.form-grid .full{grid-column:1/-1}.recipe-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.recipe-actions form{margin:0}.recipe-actions .inline-row{display:grid;grid-template-columns:minmax(140px,190px) auto;gap:10px;align-items:center}.own-recipe{border-color:rgba(149,170,114,.38)}.code-sample{white-space:pre-wrap;overflow:auto;max-height:380px;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:16px;color:var(--muted);font-size:.85rem}.import-row{grid-template-columns:1fr auto;align-items:center}.import-row small:last-child{grid-column:1/-1}.btn.danger{background:var(--dangerSoft);color:var(--danger);border-color:transparent}@media (max-width:900px){.recipe-tabs.three-tabs{grid-template-columns:1fr}.recipe-actions{display:grid}.recipe-actions .inline-row{grid-template-columns:1fr}.recipe-actions form,.recipe-actions .btn{width:100%}.import-row{grid-template-columns:1fr}.code-sample{font-size:.78rem}}


/* v0.1.5 Food barcode database */
.food-tabs.four-tabs{grid-template-columns:repeat(4,1fr)}.scanner-layout{align-items:start}.barcode-card h2,.food-create-card h2{margin-top:0}.scanner-box{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:#060606;aspect-ratio:4/3;margin:18px 0}.scanner-box video{width:100%;height:100%;object-fit:cover;display:block;opacity:.86}.scanner-frame{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.scanner-frame span{display:block;width:72%;height:34%;border:2px solid var(--accent);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}.scanner-actions{display:grid;grid-template-columns:1fr 1fr}.barcode-lookup-form{margin-top:16px}.food-result-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.food-result-card h2{margin:0}.food-result-card img{width:88px;height:88px;object-fit:cover;border-radius:20px;border:1px solid var(--line);background:var(--soft)}.food-form .full{grid-column:1/-1}.food-search-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.food-list{display:grid;gap:18px;margin-top:18px}.food-row-main{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.food-row h2{margin:0;font-size:1.35rem}.food-row .nutrition-pill-row{margin:14px 0}.add-food-form{margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:900px){.food-tabs.four-tabs{grid-template-columns:1fr 1fr}.scanner-actions,.food-search-form{grid-template-columns:1fr}.food-result-card{grid-template-columns:1fr}.food-row-main{grid-template-columns:auto 1fr}.food-row-main .pill{grid-column:2}.food-row .inline-row{grid-template-columns:1fr}.food-row .inline-row input,.food-row .inline-row select{width:100%}}


/* v0.1.5 Food barcode database */
.food-tabs.four-tabs{grid-template-columns:repeat(4,1fr)}.scanner-layout{align-items:start}.barcode-card h2,.food-create-card h2{margin-top:0}.scanner-box{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:#060606;aspect-ratio:4/3;margin:18px 0}.scanner-box video{width:100%;height:100%;object-fit:cover;display:block;opacity:.86}.scanner-frame{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.scanner-frame span{display:block;width:72%;height:34%;border:2px solid var(--accent);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}.scanner-actions{display:grid;grid-template-columns:1fr 1fr}.barcode-lookup-form{margin-top:16px}.food-result-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.food-result-card h2{margin:0}.food-result-card img{width:88px;height:88px;object-fit:cover;border-radius:20px;border:1px solid var(--line);background:var(--soft)}.food-form .full{grid-column:1/-1}.food-search-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.food-list{display:grid;gap:18px;margin-top:18px}.food-row-main{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.food-row h2{margin:0;font-size:1.35rem}.food-row .nutrition-pill-row{margin:14px 0}.add-food-form{margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:900px){.food-tabs.four-tabs{grid-template-columns:1fr 1fr}.scanner-actions,.food-search-form{grid-template-columns:1fr}.food-result-card{grid-template-columns:1fr}.food-row-main{grid-template-columns:auto 1fr}.food-row-main .pill{grid-column:2}.food-row .inline-row{grid-template-columns:1fr}.food-row .inline-row input,.food-row .inline-row select{width:100%}}


/* v0.1.6 Food edit, direct meal scan and photo confirmation */
.checkbox-line{display:flex;grid-template-columns:none;align-items:center;gap:10px;font-weight:750}.checkbox-line input{width:auto}.check-list{display:grid;gap:12px;margin:0;padding-left:1.2rem}.photo-review-list{display:grid;gap:16px;margin-top:16px}.photo-review-card{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:18px;align-items:start}.photo-review-media{position:relative}.photo-review-media img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;border:1px solid var(--line)}.photo-review-media .pill{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.65);color:#fff}.photo-review-body h2{margin-top:0}.photo-confirm-form{margin-top:12px}.photo-confirm-form .full{grid-column:1/-1}.photo-actions{margin-bottom:10px}.food-row .recipe-actions>a.btn{align-self:center}.ghost{background:transparent}.source-settings-card code{word-break:break-word}@media (max-width:900px){.photo-review-card{grid-template-columns:1fr}.photo-review-media img{max-height:320px}.photo-confirm-form{grid-template-columns:1fr}}

/* v0.3.0 milestone additions */
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px}.day-card{min-width:180px;background:var(--surface-2,#161922);border:1px solid var(--border,#2a2f3a);border-radius:18px;padding:14px}.day-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.macro-mini{height:7px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin:10px 0}.macro-mini span{display:block;height:100%;background:linear-gradient(90deg,#79ffb2,#7aa7ff);border-radius:99px}.slot{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;margin-top:10px}.mini-item{display:flex;justify-content:space-between;gap:8px;align-items:center;background:rgba(255,255,255,.04);border-radius:12px;padding:8px;margin-top:6px}.link-danger{border:0;background:transparent;color:#ff7a7a;font-size:20px;cursor:pointer}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form label{min-width:160px}.kv{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.kv small{opacity:.65;word-break:break-all}.log-box{background:#07090f;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;overflow:auto;white-space:pre-wrap}.mobile-table{overflow-x:auto}.mobile-table table{width:100%;border-collapse:collapse}.mobile-table th,.mobile-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.small{font-size:.85rem}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}@media(max-width:900px){.week-grid{grid-template-columns:repeat(7,82vw)}.inline-form{display:grid}.mobile-table table,.mobile-table thead,.mobile-table tbody,.mobile-table tr,.mobile-table td{display:block}.mobile-table thead{display:none}.mobile-table tr{padding:10px;border-bottom:1px solid rgba(255,255,255,.08)}}

/* v0.3.1 Guided onboarding and first-run tour */
.guided-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;margin-bottom:18px}.guided-hero h2{margin:.15rem 0 .5rem}.onboarding-wizard{display:grid;gap:18px}.wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.wizard-progress button{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:18px;padding:12px 10px;text-align:left;cursor:pointer;display:grid;gap:3px}.wizard-progress button strong{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);color:var(--text)}.wizard-progress button span{font-size:.83rem;font-weight:800}.wizard-progress button.active{border-color:rgba(149,170,114,.7);color:var(--text);box-shadow:0 0 0 3px rgba(149,170,114,.12)}.wizard-progress button.active strong{background:var(--accent);color:#111}.wizard-step{animation:fpFade .18s ease-out}.wizard-step h2{margin-top:.25rem}.wizard-step .full{grid-column:1/-1}.wizard-actions{position:sticky;bottom:92px;z-index:10;display:flex;justify-content:space-between;gap:12px;align-items:center}.wizard-actions .btn{min-width:140px}.calculation-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.calculation-preview article{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:18px;padding:14px}.calculation-preview span,.calculation-preview small{display:block;color:var(--muted);font-size:.82rem}.calculation-preview strong{display:block;font-size:1.65rem;margin:5px 0;color:var(--text)}.target-form{margin-top:10px}.topbar-actions{display:flex;gap:10px;align-items:center}.topbar-actions form{margin:0}.tour-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.72);backdrop-filter:blur(12px);display:grid;place-items:center;padding:22px}.tour-card{width:min(560px,100%);box-shadow:0 30px 90px rgba(0,0,0,.45);position:relative}.tour-card h2{margin:.2rem 0 .5rem}.tour-step{min-height:160px;animation:fpFade .18s ease-out}.tour-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.tour-skip{margin-top:12px;text-align:center}.tour-skip button{border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer}.alert.small{font-size:.88rem;padding:12px 14px}.btn[disabled],button[disabled]{opacity:.45;cursor:not-allowed}@keyframes fpFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.guided-hero{grid-template-columns:1fr}.wizard-progress{grid-template-columns:1fr 1fr}.wizard-progress button{padding:10px}.wizard-progress button span{font-size:.78rem}.wizard-actions{bottom:82px;display:grid;grid-template-columns:1fr 1fr}.wizard-actions .btn{width:100%;min-width:0}.wizard-actions [data-wizard-submit]{grid-column:1/-1}.calculation-preview{grid-template-columns:1fr 1fr}.tour-overlay{align-items:end;padding:14px 14px 86px}.tour-card{max-height:calc(100vh - 120px);overflow:auto}.tour-actions{display:grid;grid-template-columns:1fr 1fr}.tour-actions form{grid-column:1/-1}.tour-actions .btn{width:100%}}


/* v0.3.3 UI hotfix: readable form controls + robust wizard visibility */
[hidden], .is-hidden { display: none !important; }

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background-color: #1f1f1f;
  color: #f7f7f4;
  border-color: rgba(255,255,255,.11);
  color-scheme: dark;
}

html[data-theme="dark"] select option,
html[data-theme="dark"] select optgroup {
  background-color: #1f1f1f;
  color: #f7f7f4;
}

html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  color-scheme: light;
}

html[data-theme="light"] select option,
html[data-theme="light"] select optgroup {
  background-color: #ffffff;
  color: #111111;
}

input::placeholder,
textarea::placeholder {
  color: rgba(255,255,255,.52);
  opacity: 1;
}

html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
  color: rgba(20,20,20,.48);
}

select:focus,
input:focus,
textarea:focus {
  outline: none;
  border-color: rgba(207,116,73,.9);
  box-shadow: 0 0 0 3px rgba(207,116,73,.18);
}

.wizard-actions {
  align-items: center;
}

.wizard-actions .btn {
  min-height: 48px;
}

.wizard-actions [data-wizard-next].is-hidden,
.wizard-actions [data-wizard-submit].is-hidden,
.wizard-actions [data-wizard-next][hidden],
.wizard-actions [data-wizard-submit][hidden] {
  display: none !important;
}

.wizard-step[hidden] {
  display: none !important;
}

@media(max-width:900px){
  .wizard-actions {
    position: sticky;
    bottom: 82px;
  }
  .wizard-actions .btn {
    min-height: 52px;
  }
}


/* v0.3.4 theme toggle polish */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-toggle-link{justify-content:flex-start;font-weight:700}
.theme-toggle-btn{position:relative;overflow:hidden}
.theme-toggle-btn:hover,.theme-toggle-link:hover{transform:translateY(-1px)}
.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;color:currentColor}
.theme-toggle-icon svg{display:block;width:22px;height:22px}
.theme-toggle-link .theme-toggle-icon{width:20px;height:20px}
html[data-theme="dark"] .theme-toggle-btn,
html[data-theme="dark"] .theme-toggle-link{background:rgba(255,255,255,.04);color:#f6f6f2;border:1px solid rgba(255,255,255,.08)}
html[data-theme="light"] .theme-toggle-btn,
html[data-theme="light"] .theme-toggle-link{background:#ffffff;color:#111827;border:1px solid rgba(17,24,39,.08)}
html[data-theme="dark"] .theme-toggle-btn:hover,
html[data-theme="dark"] .theme-toggle-link:hover{background:rgba(207,116,73,.14);border-color:rgba(207,116,73,.35)}
html[data-theme="light"] .theme-toggle-btn:hover,
html[data-theme="light"] .theme-toggle-link:hover{background:#fff7f2;border-color:rgba(207,116,73,.3)}
.topbar-actions .theme-toggle-btn{box-shadow:none}


/* v0.3.5 brand / login polish */
.brand-lockup{display:flex;align-items:center;gap:14px}
.brand-lockup-center{justify-content:center}
.brand-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.brand-badge svg{display:block;width:56px;height:56px}
.brand-text{display:flex;flex-direction:column;gap:2px;line-height:1.05}
.brand-text strong{font-size:1.55rem;letter-spacing:-.03em;color:var(--text)}
.brand-text small{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}
.sidebar .brand-text strong{font-size:1.25rem}
.sidebar .brand-text small{letter-spacing:.06em;font-size:.72rem}
.guest-card{width:min(600px,calc(100vw - 28px));margin:auto;padding:22px}
.guest-card h1{margin:1.1rem 0 .8rem;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}
.login-intro{margin:0 0 1.2rem;max-width:52ch;line-height:1.6}
@media (max-width:900px){.brand-text strong{font-size:1.2rem}.brand-text small{font-size:.7rem}.guest-card{width:min(100%,calc(100vw - 24px))}.guest-card h1{font-size:2rem}}


/* v0.3.6 pwa-logo branding and palette alignment */
.brand-badge-image{padding:0;background:transparent;box-shadow:none;width:58px;height:58px;border-radius:18px;overflow:hidden}
.brand-badge-image img{display:block;width:100%;height:100%;border-radius:18px;object-fit:cover;box-shadow:0 10px 24px rgba(56,189,248,.16)}
.brand-text strong{font-size:1.5rem}
.sidebar .brand-text strong{font-size:1.15rem}
.sidebar .brand-badge-image{width:52px;height:52px}
.guest-card .brand-badge-image,.login-card .brand-badge-image{width:64px;height:64px}
.brand-text small{color:var(--muted)}
.btn.primary{box-shadow:0 10px 24px rgba(56,189,248,.18)}
.mobile-bottom-nav a.active{box-shadow:0 8px 22px rgba(56,189,248,.18)}
.weekday-strip .active,.segmented-tabs a.active{box-shadow:0 8px 20px rgba(167,243,208,.18)}
.card-head .dot{background:var(--warning)}
.action-icon.blue{background:rgba(56,189,248,.12);color:var(--blue)}
.action-icon.green{background:rgba(167,243,208,.12);color:var(--accent2)}
.action-icon.orange{background:rgba(242,163,111,.15);color:var(--orange)}
html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#0f1520,#121722)}
html[data-theme="dark"] .app-card{background:linear-gradient(180deg,rgba(56,189,248,.04),rgba(255,255,255,0)),var(--panel)}
html[data-theme="dark"] .guest-card,html[data-theme="dark"] .login-card{background:linear-gradient(180deg,rgba(56,189,248,.03),rgba(255,255,255,0)),var(--panel)}
html[data-theme="dark"] .nav a.active,html[data-theme="dark"] .nav a:hover,html[data-theme="dark"] .nav button:hover,html[data-theme="dark"] .nav form button:hover{background:rgba(56,189,248,.08);color:var(--text)}
html[data-theme="dark"] .icon-btn{background:#161f2d;border-color:#223047}
html[data-theme="light"] .guest-card,html[data-theme="light"] .login-card{background:linear-gradient(180deg,rgba(56,189,248,.02),rgba(255,255,255,0)),var(--panel)}

/* v0.3.7 water editing, photo retention and Android camera helper */
.water-card{align-items:start}
.water-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1/-1}
.water-actions form{display:grid}
.water-set-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;grid-column:1/-1;margin-top:4px}
.camera-help{margin-top:12px;line-height:1.45}
.photo-retention-actions{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.photo-retention-actions form{display:inline-flex;gap:8px;margin:0}
.photo-review-media{position:relative}
.photo-review-media .pill{margin:8px 6px 0 0}
@media(max-width:900px){.water-actions,.water-set-form{grid-template-columns:1fr}.photo-retention-actions{display:grid}.photo-retention-actions form{display:grid;width:100%}}


/* v0.3.8 admin quick menu */
.admin-quick-menu{position:relative;display:inline-block}
.admin-quick-menu summary{list-style:none;cursor:pointer;user-select:none}
.admin-quick-menu summary::-webkit-details-marker{display:none}
.admin-quick-trigger{background:linear-gradient(180deg,rgba(56,189,248,.16),rgba(167,243,208,.08));border-color:rgba(56,189,248,.25)}
.admin-quick-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:90;width:min(420px,calc(100vw - 28px));max-height:min(76vh,760px);overflow:auto;padding:16px;border-radius:24px;background:rgba(18,23,34,.98);border:1px solid rgba(255,255,255,.1);box-shadow:0 28px 90px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
html[data-theme="light"] .admin-quick-panel{background:rgba(255,255,255,.98);border-color:rgba(17,24,39,.08);box-shadow:0 28px 80px rgba(15,23,42,.16)}
.admin-quick-head{display:grid;gap:4px;padding:4px 4px 14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.admin-quick-head strong{font-size:1.3rem;letter-spacing:-.03em}.admin-quick-head small{color:var(--muted);word-break:break-all}.admin-quick-section{display:grid;gap:8px;margin-top:14px}.admin-quick-section .eyebrow{margin:0 0 2px}
.admin-quick-link{display:grid;gap:3px;text-decoration:none;padding:12px 13px;border-radius:16px;border:1px solid transparent;background:rgba(255,255,255,.03)}
.admin-quick-link span{font-weight:850}.admin-quick-link small{color:var(--muted);line-height:1.35}.admin-quick-link:hover,.admin-quick-link.active{border-color:rgba(56,189,248,.28);background:rgba(56,189,248,.1);color:var(--text)}
.admin-quick-logout{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.admin-quick-logout .btn{width:100%}
@media(max-width:900px){.topbar-actions{margin-left:auto}.admin-quick-panel{position:fixed;left:14px;right:14px;top:86px;width:auto;max-height:calc(100vh - 190px);padding:14px;border-radius:24px}.admin-quick-trigger{width:46px;height:46px}.topbar{position:relative;z-index:70}.admin-quick-menu[open]::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:-1}}


/* v0.3.9 admin settings ui polish */
.admin-settings-top{align-items:start}
.admin-ai-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px;align-items:start}
.admin-ai-main,.admin-ai-side{margin-bottom:0}
.admin-ai-side{position:sticky;top:28px}
.admin-ai-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:18px;align-items:start;margin-bottom:18px}
.admin-ai-status-stack{display:grid;gap:12px}
.admin-ai-notice{margin:0}
.admin-ai-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.admin-ai-summary-cards article{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:14px}
.admin-ai-summary-cards span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.admin-ai-summary-cards strong{display:block;margin-top:6px;font-size:1rem;line-height:1.3;word-break:break-word}
.admin-ai-form{gap:16px}
.admin-setting-block{border:1px solid var(--line);border-radius:22px;padding:18px;background:rgba(255,255,255,.02)}
.admin-setting-block-head{display:grid;gap:4px;margin-bottom:14px}
.admin-setting-block-head h3{margin:0;font-size:1.15rem;letter-spacing:-.02em}
.admin-setting-block-head p{margin:0}
.compact-grid{gap:12px}
.checkbox-tile{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}
.checkbox-tile input{width:auto;margin-top:4px}
.checkbox-tile strong,.checkbox-tile small{display:block}
.checkbox-tile small{margin-top:4px;color:var(--muted);line-height:1.45}
.admin-chip-grid{display:grid;gap:12px}
.admin-key-box{display:grid;gap:12px}
.admin-key-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.checkbox-line.compact{font-weight:600;display:flex;align-items:center;gap:8px}
.checkbox-line.compact input{width:auto}
.admin-settings-actions{justify-content:flex-start}
.admin-ai-submit-row{margin-top:2px}
.admin-ai-submit-row .btn.primary{min-width:260px}
.admin-ai-test-form{margin-top:14px}
.admin-ai-test-form .btn{min-width:240px}
.table-scroll{overflow:auto}
.compact-table{width:100%;border-collapse:collapse;font-size:.92rem}
.compact-table th,.compact-table td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compact-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.notice.success{background:#dcfce7;border:1px solid #86efac;color:#14532d;padding:12px 14px;border-radius:14px}
.notice.error{background:#fee2e2;border:1px solid #fecaca;color:#7f1d1d;padding:12px 14px;border-radius:14px}
@media(max-width:1180px){.admin-ai-layout{grid-template-columns:1fr}.admin-ai-side{position:static}.admin-ai-header{grid-template-columns:1fr}.admin-ai-summary-cards{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:900px){.admin-settings-top,.grid.two{grid-template-columns:1fr}.admin-ai-summary-cards{grid-template-columns:1fr}.compact-grid,.form-grid.two{grid-template-columns:1fr}.admin-ai-submit-row .btn.primary,.admin-ai-test-form .btn{width:100%;min-width:0}.admin-key-meta{display:grid}.checkbox-tile{grid-template-columns:1fr}.checkbox-tile input{justify-self:start}}

/* v0.4.0 daily coach overview and reminders */
.daily-coach-card p{white-space:normal}
.daily-coach-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}
.daily-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.daily-coach-grid article{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:18px;padding:14px}
.daily-coach-grid span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;margin-bottom:6px}
.daily-coach-grid strong{display:block;font-size:.96rem;line-height:1.45;font-weight:650}
.daily-coach-actions{margin-top:16px}
.coach-task-card h2{margin:.2rem 0 0;font-size:1.6rem;letter-spacing:-.03em}
.coach-task-list{display:grid;gap:12px;margin:16px 0}
.coach-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:16px;background:rgba(255,255,255,.025)}
.coach-task.due{border-color:rgba(167,243,208,.45);background:linear-gradient(180deg,rgba(167,243,208,.06),rgba(255,255,255,.02))}
.coach-task h3{margin:8px 0 6px;font-size:1.2rem}
.coach-task p{margin:0 0 6px;line-height:1.45}
.coach-task-actions{display:grid;gap:8px;min-width:138px}
.coach-task-actions form{display:grid}
@media(max-width:900px){.daily-coach-grid{grid-template-columns:1fr}.daily-coach-actions{display:grid}.coach-task{grid-template-columns:1fr}.coach-task-actions{grid-template-columns:1fr 1fr;min-width:0}.coach-task-actions .btn{width:100%}}


/* v0.4.1 coach fallback and chat polish */
.coach-chat-card{max-width:960px}.coach-chat-head{align-items:flex-start}.coach-status-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.coach-chat{display:grid;gap:12px;margin-top:18px}.message{max-width:min(780px,100%);padding:14px 16px;border:1px solid var(--line);border-radius:20px;line-height:1.5;background:rgba(255,255,255,.035);white-space:normal}.message span{display:block}.message.user{justify-self:end;background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.24)}.message.assistant{justify-self:start;background:rgba(167,243,208,.08);border-color:rgba(167,243,208,.18)}.coach-empty-message{max-width:100%}.coach-quick-prompts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.coach-quick-prompts .btn{width:auto}.coach-send-form textarea{min-height:132px}.coach-reset-form{margin-top:14px}.coach-reset-form .btn{width:auto}.daily-coach-card p{font-size:1.05rem}.daily-coach-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.daily-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.daily-coach-grid article{padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}.daily-coach-grid span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.daily-coach-grid strong{font-weight:650;line-height:1.45}.daily-coach-actions .btn{width:auto}@media(max-width:900px){.coach-chat-head{display:grid}.coach-status-pills{justify-content:flex-start}.message{max-width:100%}.coach-quick-prompts,.coach-reset-form,.daily-coach-actions{display:grid}.coach-quick-prompts .btn,.coach-reset-form .btn,.daily-coach-actions .btn{width:100%}.daily-coach-grid{grid-template-columns:1fr}}


/* v0.4.2 camera fallback and photo delete polish */
.camera-capture-fallback{margin-top:12px;display:grid;gap:8px;padding:14px 16px;border:1px dashed rgba(167,243,208,.35);border-radius:18px;background:rgba(167,243,208,.06);font-weight:850;color:var(--text)}
.camera-capture-fallback input{padding:10px;background:rgba(255,255,255,.04);border-radius:14px}
.photo-review-media{position:relative}
.photo-delete-inline{position:absolute;right:12px;top:12px;z-index:5;margin:0}
.photo-delete-inline button{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(0,0,0,.62);color:#fff;font-size:1.7rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.photo-delete-inline button:hover{background:rgba(239,68,68,.86);border-color:rgba(255,255,255,.4)}
.photo-retention-actions{gap:10px}
@media(max-width:900px){.photo-delete-inline{right:10px;top:10px}.photo-delete-inline button{width:48px;height:48px}.camera-capture-fallback{font-size:.95rem}}


/* v0.4.3 coach fallback cleanup */
.coach-cleanup-notice,
.coach-mode-notice {
  display: grid;
  gap: 10px;
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(56,189,248,.08);
  border: 1px solid rgba(56,189,248,.18);
  color: var(--text);
}
.coach-cleanup-notice form {
  margin: 0;
}
.coach-cleanup-notice .btn {
  width: max-content;
}
.coach-mode-notice {
  background: rgba(167,243,208,.07);
  border-color: rgba(167,243,208,.16);
}
@media(max-width:900px){
  .coach-cleanup-notice .btn{width:100%}
}


/* v0.4.6 recipe library and filters */
.recipe-library-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.recipe-library-hero h2{margin:.1rem 0 .4rem}
.recipe-filter-card{display:grid;gap:16px}
.recipe-filter-form{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}
.recipe-filter-form .actions{align-items:end;flex-wrap:nowrap}
.recipe-filter-chips{display:flex;gap:9px;flex-wrap:wrap}
.recipe-filter-chips .chip{display:inline-flex;text-decoration:none;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted)}
.recipe-filter-chips .chip.active,.recipe-filter-chips .chip:hover{border-color:rgba(56,189,248,.35);background:rgba(56,189,248,.12);color:var(--text)}
@media(max-width:900px){.recipe-library-hero{grid-template-columns:1fr}.recipe-filter-form{grid-template-columns:1fr}.recipe-filter-form .actions{display:grid;grid-template-columns:1fr;}.recipe-filter-chips{max-height:210px;overflow:auto;padding-right:4px}}


/* v0.4.7 voice input */
.voice-wrap{display:grid;gap:8px;margin-top:-2px}
.voice-btn{gap:10px;justify-content:center}
.voice-btn .voice-dot{width:12px;height:12px;border-radius:999px;background:var(--accent2);box-shadow:0 0 0 0 rgba(167,243,208,.4)}
.voice-btn.is-recording{background:rgba(252,165,165,.16);border-color:rgba(252,165,165,.45);color:#fecaca}
.voice-btn.is-recording .voice-dot{background:#f87171;animation:voicePulse 1.15s infinite}
.voice-status{margin:0;line-height:1.45}
.voice-status[data-tone="active"]{color:var(--accent2)}
.voice-status[data-tone="done"]{color:var(--green)}
.voice-status[data-tone="error"]{color:var(--danger)}
@keyframes voicePulse{0%{box-shadow:0 0 0 0 rgba(248,113,113,.5)}70%{box-shadow:0 0 0 12px rgba(248,113,113,0)}100%{box-shadow:0 0 0 0 rgba(248,113,113,0)}}
@media(max-width:900px){.voice-wrap .btn{width:100%}}

/* v0.4.8 recipe cleanup + search/filter polish */
.recipe-filter-top{position:sticky;top:12px;z-index:20;margin-bottom:18px;background:linear-gradient(180deg,rgba(56,189,248,.05),rgba(255,255,255,0)),var(--panel);backdrop-filter:blur(18px)}
.recipe-filter-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.recipe-filter-head h2{margin:.15rem 0 .25rem;font-size:1.5rem;letter-spacing:-.03em}
.recipe-filter-form{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(190px,.7fr) auto;gap:12px;align-items:end}
.recipe-filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;max-height:92px;overflow:auto;padding-bottom:4px}
.recipe-filter-chips .chip{border:1px solid var(--line);text-decoration:none}
.recipe-filter-chips .chip.active{background:var(--accent2);color:#0b1320;border-color:transparent}
.recipe-library-hero{margin-top:0}
.photo-delete-inline button{box-shadow:0 8px 24px rgba(0,0,0,.35)}
@media(max-width:900px){.recipe-filter-top{position:relative;top:auto}.recipe-filter-head{display:grid}.recipe-filter-form{grid-template-columns:1fr}.recipe-filter-chips{max-height:150px}.recipe-filter-head .btn{width:100%}}

/* v0.4.9 external recipe source connectors */
.recipe-tabs.four-tabs{grid-template-columns:repeat(4,1fr)}
.external-recipe-sources{align-items:start}
.external-recipe-sources .recipe-import-card form small{color:var(--muted);line-height:1.4}
.external-recipe-sources .btn.primary{width:100%}
.recipe-card .chip-row .chip:first-child{border-color:rgba(56,189,248,.3);background:rgba(56,189,248,.09)}
@media(max-width:900px){.recipe-tabs.four-tabs{grid-template-columns:1fr 1fr}.external-recipe-sources{grid-template-columns:1fr}}

/* v0.5.0 external recipe browser filters */
.external-recipe-browser{position:sticky;top:12px;z-index:22;margin-bottom:18px;background:linear-gradient(180deg,rgba(56,189,248,.06),rgba(255,255,255,0)),var(--panel);backdrop-filter:blur(18px)}
.external-filter-form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.75fr) minmax(160px,.8fr) minmax(140px,.65fr) minmax(120px,.55fr) auto;gap:12px;align-items:end}
.external-filter-form .actions{align-items:end;justify-content:flex-start}.external-filter-form .btn{min-height:48px;white-space:nowrap}.external-chip-row{max-height:86px;overflow:auto;margin-top:14px;padding-bottom:4px}.external-recipe-results{display:grid;gap:16px;margin:18px 0}.external-recipe-card{border-color:rgba(56,189,248,.14)}.external-recipe-card .recipe-card-top{align-items:flex-start}.external-recipe-card details summary{cursor:pointer;font-weight:850}.external-recipe-card details{margin-top:12px}.external-recipe-card details ul{margin:.7rem 0 0;padding-left:1.2rem}.external-recipe-card details p{line-height:1.55}.external-recipe-sources{margin-top:22px}
@media(max-width:1180px){.external-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}.external-filter-form .actions{grid-column:1/-1}.external-filter-form .btn{width:100%}}
@media(max-width:900px){.external-recipe-browser{position:relative;top:auto}.external-filter-form{grid-template-columns:1fr}.external-chip-row{max-height:150px}.external-recipe-card .inline-row{display:grid}.external-recipe-card .inline-row select,.external-recipe-card .inline-row .btn{width:100%}}

/* v0.5.1 Wearables / Google Health */
.wear-hero .quick-actions,
.wearable-connect-card .quick-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}
.wearable-kpis .metric-card strong{font-size:2rem;line-height:1.1;display:block;margin:.35rem 0}
.wearable-kpis .metric-card span{color:var(--muted);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.wearable-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}
.wearable-status-grid>div{border:1px solid var(--border);border-radius:16px;padding:1rem;background:rgba(255,255,255,.03);min-width:0;overflow:hidden}
.wearable-status-grid code{font-size:.78rem;word-break:break-all;white-space:normal}
.inline-field{display:flex;align-items:center;gap:.5rem;margin:0}.inline-field input{width:90px}
.checkbox-row{display:flex!important;align-items:center;gap:.6rem;min-height:44px}.checkbox-row input{width:auto!important}
.alert.warning{border-color:rgba(250,204,21,.45);background:rgba(250,204,21,.12);color:#fde68a}
.pill.ok{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35);color:#86efac}
.btn.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#fecaca}
.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:.75rem;border-bottom:1px solid var(--border);text-align:left}.data-table th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.mini-provider-card form{margin-top:1rem}.wearable-dashboard-card .wearable-mini-row{margin-top:1rem}
@media(max-width:900px){.wearable-status-grid{grid-template-columns:1fr}.wear-hero .quick-actions,.wearable-connect-card .quick-actions{align-items:stretch}.wear-hero .quick-actions>*{width:100%}.wear-hero .quick-actions .btn,.wearable-connect-card .quick-actions .btn{width:100%;justify-content:center}.inline-field{width:100%;justify-content:space-between}.inline-field input{width:120px}}

/* v0.5.2 Wearable Simple Connect Hub */
.simple-wear-hero {
  overflow: hidden;
  position: relative;
}
.simple-wear-hero::after {
  content: "";
  position: absolute;
  right: -60px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(56,189,248,.24), rgba(167,243,208,.08) 55%, transparent 70%);
  pointer-events: none;
}
.wearable-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.wearable-provider-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .9rem;
  align-items: start;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.035);
  border-radius: 22px;
  padding: 1rem;
  box-shadow: var(--shadow-soft);
}
.wearable-provider-card.featured {
  background: linear-gradient(135deg, rgba(56,189,248,.13), rgba(167,243,208,.08));
}
.wearable-provider-card.connected {
  border-color: rgba(52,211,153,.5);
}
.provider-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 1.05rem;
  color: var(--text);
  background: linear-gradient(135deg, rgba(56,189,248,.22), rgba(250,204,21,.15));
  border: 1px solid rgba(255,255,255,.12);
}
.provider-body h3 {
  margin: .08rem 0 .35rem;
}
.provider-body p:not(.eyebrow) {
  color: var(--muted);
  margin: 0 0 .65rem;
  line-height: 1.45;
}
.provider-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
  align-items: center;
}
.provider-actions form {
  display: inline-flex;
  margin: 0;
}
.provider-actions .btn[disabled] {
  opacity: .5;
  cursor: not-allowed;
}
.admin-provider-setup details {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: .9rem 1rem;
  background: rgba(255,255,255,.025);
}
.admin-provider-setup summary {
  cursor: pointer;
}
.admin-provider-setup .grid {
  margin-top: 1rem;
}
@media (max-width: 720px) {
  .wearable-provider-card {
    grid-template-columns: 1fr;
  }
  .provider-icon {
    width: 44px;
    height: 44px;
  }
}

/* v0.5.8 Motivation, rewards and habit learning */
.motivation-habit-grid{margin:1.1rem 0}.reward-card,.habit-card{overflow:hidden}.reward-level-line{margin:.8rem 0 1rem}.badge-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.reward-badge{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(250,204,21,.25);background:rgba(250,204,21,.1);color:var(--text);border-radius:999px;padding:.45rem .7rem;font-weight:850;font-size:.86rem}.reward-events,.hourly-checkins{margin-top:1rem;border-top:1px solid var(--border);padding-top:.85rem}.reward-events summary,.hourly-checkins summary{cursor:pointer;font-weight:850}.reward-events ul,.hourly-checkins ul{margin:.8rem 0 0;padding-left:1.1rem;color:var(--muted)}.reward-events li,.hourly-checkins li{margin:.45rem 0}.reward-events li strong{color:#a7f3d0}.habit-list{display:grid;gap:.65rem;margin-top:1rem}.habit-item{display:grid;grid-template-columns:minmax(80px,.8fr) minmax(130px,1fr) auto;gap:.55rem;align-items:center;border:1px solid var(--border);border-radius:16px;padding:.75rem;background:rgba(255,255,255,.035)}.habit-item span{color:var(--muted);font-weight:800}.habit-item strong{font-size:.95rem}.habit-item small{color:#a7f3d0;font-weight:800;white-space:nowrap}.daily-coach-card .daily-coach-meta .pill{margin-right:.35rem}@media(max-width:780px){.habit-item{grid-template-columns:1fr}.habit-item small{white-space:normal}.badge-row{gap:.4rem}.reward-badge{font-size:.8rem}.motivation-habit-grid{grid-template-columns:1fr!important}}

/* v0.5.9 Coach calibration moved into AI Coach */
.coach-calibration-card{margin:1rem 0 1.2rem;position:relative;overflow:visible;background:linear-gradient(135deg,rgba(56,189,248,.10),rgba(167,243,208,.045)),var(--panel)}
.coach-calibration-head{align-items:flex-start;gap:1rem}.coach-calibration-head h3{margin:.1rem 0 .2rem;font-size:1.35rem;letter-spacing:-.02em}.coach-calibration-actions{display:flex;align-items:center;gap:.55rem;position:relative}.calibration-help{position:relative}.calibration-help summary{list-style:none;width:34px;height:34px;border-radius:999px;border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;font-weight:950;background:rgba(255,255,255,.055);color:var(--text)}.calibration-help summary::-webkit-details-marker{display:none}.calibration-help-panel{position:absolute;right:0;top:42px;width:min(420px,calc(100vw - 42px));z-index:80;border:1px solid rgba(56,189,248,.24);border-radius:18px;padding:1rem;background:var(--panel);box-shadow:var(--shadow);line-height:1.5}.calibration-help-panel p{margin:.45rem 0;color:var(--muted)}.calibration-help-panel ul{margin:.55rem 0 0;padding-left:1.1rem;color:var(--muted)}.coach-calibration-line{margin:.8rem 0 1rem}.coach-learned-row{display:flex;gap:.5rem;flex-wrap:wrap}.calibration-details{margin-top:1rem;border-top:1px solid var(--border);padding-top:.85rem}.calibration-details summary{cursor:pointer;font-weight:850}.calibration-component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin-top:.9rem}.calibration-component-grid article{border:1px solid var(--border);border-radius:16px;padding:.8rem;background:rgba(255,255,255,.035)}.calibration-component-grid .mini-line{margin:.55rem 0}.calibration-next-steps{margin-top:.9rem;border:1px solid rgba(250,204,21,.18);background:rgba(250,204,21,.055);border-radius:16px;padding:.8rem}.calibration-next-steps ul{margin:.55rem 0 0;padding-left:1.1rem;color:var(--muted)}.coach-learning-grid{margin:1rem 0 1.2rem}.hourly-card{overflow:hidden}.coach-checkin-list{display:grid;gap:.65rem;margin:.9rem 0 0;padding:0;list-style:none}.coach-checkin-list li{border:1px solid var(--border);border-radius:16px;padding:.75rem;background:rgba(255,255,255,.035)}.coach-checkin-list strong{display:block;margin-bottom:.25rem}.coach-checkin-list span{color:var(--muted);line-height:1.45;display:block}@media(max-width:760px){.coach-calibration-head{display:grid}.coach-calibration-actions{justify-content:space-between}.calibration-help-panel{right:auto;left:-210px;width:min(360px,calc(100vw - 30px))}.coach-learning-grid{grid-template-columns:1fr!important}}

/* v0.6.0 Training library, AI plans and video analysis */
.training-ai-grid{margin:1rem 0 1.1rem}.ai-training-plan-card{background:linear-gradient(135deg,rgba(56,189,248,.10),rgba(167,243,208,.055)),var(--panel)}.training-recent-ai{margin-top:1rem;border-top:1px solid var(--border);padding-top:.85rem}.training-recent-ai summary{cursor:pointer;font-weight:850}.training-library-browser{margin:1rem 0 1.1rem;overflow:visible}.training-library-filter{position:sticky;top:84px;z-index:12;display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;gap:.75rem;align-items:end;border:1px solid var(--border);border-radius:18px;padding:.85rem;background:rgba(17,24,39,.92);backdrop-filter:blur(14px);margin:.8rem 0 1rem}.exercise-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1rem}.exercise-library-card{border:1px solid var(--border);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.035);box-shadow:var(--shadow-soft);display:grid;grid-template-rows:auto 1fr}.exercise-illustration{height:132px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(56,189,248,.28),transparent 36%),linear-gradient(135deg,rgba(56,189,248,.12),rgba(250,204,21,.08))}.exercise-illustration svg{width:100%;height:100%;max-width:230px;fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;color:rgba(255,255,255,.86)}.exercise-library-body{padding:1rem}.exercise-library-body h3{margin:0;font-size:1.08rem}.library-add-form{margin-top:.85rem;display:grid;gap:.65rem;border-top:1px solid var(--border);padding-top:.8rem}.training-video-preview{width:100%;max-height:260px;border-radius:18px;background:#020617;border:1px solid var(--border)}.video-recorder-actions{display:flex;flex-wrap:wrap;gap:.6rem}.video-analysis-list{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem;display:grid;gap:.75rem}.video-analysis-item{border:1px solid var(--border);border-radius:18px;padding:.9rem;background:rgba(255,255,255,.035)}.video-analysis-item p{color:var(--muted);line-height:1.5}.video-analysis-item form{margin-top:.75rem}.training-date-card+.section-block{margin-top:1rem}.voice-intro-card{margin-bottom:1rem}@media(max-width:920px){.training-library-filter{position:relative;top:auto;grid-template-columns:1fr}.training-library-filter .btn{width:100%;justify-content:center}.exercise-library-grid{grid-template-columns:1fr}.training-ai-grid{grid-template-columns:1fr!important}.video-recorder-actions .btn{width:100%;justify-content:center}}

/* v0.6.2 training delete/manage controls */
.btn.compact{padding:.55rem .75rem;border-radius:12px;font-size:.86rem;white-space:nowrap}.training-management{margin:1rem 0}.training-manage-list{display:grid;gap:.85rem;margin-top:1rem}.training-manage-card{border:1px solid var(--border,var(--line));border-radius:20px;padding:1rem;background:rgba(255,255,255,.035)}.training-manage-head,.training-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.training-day-manage-list{display:grid;gap:.55rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border,var(--line))}.training-manage-row form,.training-manage-head form{margin:0}.training-manage-row .muted{display:block;margin-top:.2rem}.training-manage-row .kpi-line{margin-top:.55rem}@media(max-width:720px){.training-manage-head,.training-manage-row{grid-template-columns:1fr}.training-manage-head .btn,.training-manage-row .btn{width:100%;justify-content:center}}

/* v0.6.3 active weekly check-in */
.lifestyle-summary-grid{align-items:stretch}.weekly-checkin-status{position:relative;overflow:visible}.weekly-checkin-status.is-due{border-color:rgba(250,204,21,.35);box-shadow:0 18px 60px rgba(250,204,21,.06)}.weekly-checkin-status.is-calm{border-color:rgba(167,243,208,.14)}.weekly-checkin-head h2{margin:.15rem 0 0}.weekly-status-body{display:grid;gap:.75rem;margin-top:1rem}.weekly-status-body h3{margin:.1rem 0;font-size:1.35rem;letter-spacing:-.02em}.weekly-coach-summary{border:1px solid rgba(167,243,208,.16);background:rgba(167,243,208,.055);border-radius:16px;padding:.85rem;line-height:1.45}.weekly-help .calibration-help-panel{right:0}.weekly-checkin-status .btn{width:max-content}.weekly-checkin-status .kpi-line{gap:.55rem}.pill.ok{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35);color:#86efac}@media(max-width:760px){.lifestyle-summary-grid{grid-template-columns:1fr!important}.weekly-checkin-status .btn{width:100%}.weekly-help .calibration-help-panel{left:auto;right:-8px;width:min(330px,calc(100vw - 42px))}}

/* v0.6.4 protected media and progress photo controls */
.progress-photo-grid .progress-photo-thumb{position:relative;display:grid;gap:.45rem;align-content:start}
.progress-photo-thumb form{width:100%}
.progress-photo-thumb .btn.compact{width:100%;padding:.55rem .75rem;font-size:.82rem}
.upload-thumb img{background:#111827;object-fit:cover}

/* v0.6.6 Wearable one-click paths, bridge and WHOOP export */
.whoop-simple-path{background:linear-gradient(135deg,rgba(56,189,248,.09),rgba(34,197,94,.045)),var(--panel)}
.whoop-simple-path .mini-provider-card{border:1px solid var(--border);border-radius:20px;padding:1rem;background:rgba(255,255,255,.035);box-shadow:var(--shadow-soft)}
.whoop-simple-path .mini-provider-card h4{font-size:1.05rem;margin:.65rem 0 .35rem}.whoop-simple-path .mini-provider-card p{line-height:1.5}.whoop-simple-path .mini-provider-card .btn{margin-top:.75rem}
.admin-provider-setup .form-grid.span-2{grid-column:1/-1;border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem}
#whoop-export{border-color:rgba(34,197,94,.22);background:linear-gradient(180deg,rgba(34,197,94,.06),rgba(255,255,255,0)),var(--panel)}
#whoop-export input[type=file]{padding:.95rem;border:1px dashed rgba(167,243,208,.32);background:rgba(255,255,255,.025);border-radius:18px;color:var(--text);width:100%}
@media(max-width:900px){.whoop-simple-path .grid.three{grid-template-columns:1fr!important}.admin-provider-setup .grid.two{grid-template-columns:1fr!important}.admin-provider-setup .form-grid.span-2{grid-column:auto}}

/* v0.6.7 Health Connect Companion */
.health-connect-companion{background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(56,189,248,.055)),var(--panel);border-color:rgba(167,243,208,.18)}
.health-connect-companion .compact-form{gap:.65rem;margin-top:.75rem}.pairing-code-box{margin-top:1rem;border:1px solid rgba(167,243,208,.32);background:rgba(167,243,208,.075);border-radius:20px;padding:1rem;display:grid;gap:.25rem}.pairing-code-box span,.pairing-code-box small{color:var(--muted)}.pairing-code-box strong{font-size:clamp(2rem,8vw,3.4rem);letter-spacing:.08em;line-height:1;color:#a7f3d0}.card-subsection{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}.compact-list{padding-left:1.2rem;margin:.65rem 0}.compact-list li{margin:.35rem 0}.health-connect-companion code{font-size:.86em;color:#a7f3d0;word-break:break-all}.health-connect-companion .list-row form{margin:0}@media(max-width:760px){.health-connect-companion .grid.two{grid-template-columns:1fr!important}.pairing-code-box strong{font-size:2.15rem}.health-connect-companion .list-row{grid-template-columns:1fr}.health-connect-companion .list-row .btn{width:100%;justify-content:center}}

/* v0.6.9 WHOOP setup diagnostics */
.pill.warn{background:rgba(250,204,21,.14);border:1px solid rgba(250,204,21,.35);color:#fde68a}.mini-status{border:1px solid var(--line);border-radius:16px;padding:.8rem;background:rgba(255,255,255,.035);display:grid;gap:.25rem}.mini-status strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.mini-status span{font-weight:850;word-break:break-all}.mini-status.ok{border-color:rgba(34,197,94,.32);background:rgba(34,197,94,.08)}.mini-status.warn{border-color:rgba(250,204,21,.34);background:rgba(250,204,21,.08)}

/* v0.7.0 WHOOP Auto Sync + Coach Context */
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.code-block { display:block; padding:.85rem 1rem; border-radius:14px; background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.1); white-space:normal; word-break:break-all; margin-top:.75rem; }
.coach-context-box { padding:1rem; border-radius:18px; border:1px solid rgba(167,243,208,.28); background:rgba(6,95,70,.16); color:var(--text); }
.inline-form { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; }
@media (max-width: 900px) { .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .grid.four { grid-template-columns: 1fr; } }

/* v0.7.2 Wearables unified hub */
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.wearable-hub-hero{overflow:hidden;position:relative}
.wearable-hub-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;align-items:center}
.wearable-hub-actions form{display:inline-flex}
.wearable-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.wearable-source-card{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035);padding:1rem;display:grid;gap:.85rem;min-width:0}
.wearable-source-card.connected{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.07)}
.source-top{display:flex;gap:.8rem;align-items:center}
.source-top h3{margin:0 0 .35rem;font-size:1.1rem;letter-spacing:-.02em}
.source-badges{display:flex;gap:.4rem;flex-wrap:wrap}
.source-badges span{font-size:.78rem;font-weight:850;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:999px;padding:.35rem .55rem;color:var(--muted)}
.source-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:auto}
.source-actions form{display:inline-flex}
.source-actions small{display:block;width:100%}
.pill.muted{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--muted)}
.wearable-sync-panel .compact-form{align-content:start}
.coach-context-box{border:1px solid rgba(167,243,208,.18);background:rgba(167,243,208,.06);border-radius:18px;padding:1rem;line-height:1.45}
.wearable-admin-clean-grid{display:grid;gap:1rem;margin-top:1rem}
.subtle-card{border:1px solid var(--line);border-radius:20px;padding:1rem;background:rgba(255,255,255,.025)}
.setup-copy-grid{display:grid;gap:.55rem;margin:1rem 0}
details.card>summary{cursor:pointer;font-weight:850;list-style:none}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary:before{content:'›';display:inline-block;margin-right:.55rem;transition:transform .2s ease;color:var(--accent2)}
details.card[open]>summary:before{transform:rotate(90deg)}
.form-grid .span-2{grid-column:1/-1}
@media(max-width:900px){.grid.four,.wearable-summary-grid,.wearable-source-grid,.wearable-log-grid,.wearable-sync-panel .grid.two,.wearable-admin-clean-grid .grid.two{grid-template-columns:1fr!important}.wearable-hub-actions,.source-actions{display:grid}.wearable-hub-actions .btn,.wearable-hub-actions button,.source-actions .btn,.source-actions button{width:100%}.source-actions form{width:100%}.provider-icon{width:46px;height:46px}.wearable-source-card{border-radius:20px}.form-grid.two{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}


/* v0.7.3 Wearables connection wording fix */
.alert.info{border-color:rgba(96,165,250,.42);background:rgba(96,165,250,.12);color:#bfdbfe}
.wearable-source-card .source-actions small{line-height:1.35}

/* v0.7.6 WHOOP redirect helper */
.notice-box{border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem;margin:.8rem 0 1rem;background:rgba(255,255,255,.035);line-height:1.45}
.notice-box.warning{border-color:rgba(250,204,21,.45);background:rgba(250,204,21,.10)}
.setup-copy-grid code{word-break:break-all;text-align:right}
