:root{
  --bg:#07090b;--panel:#101316;--panel2:#15191d;--line:#2a2f35;
  --text:#f5f5f5;--muted:#9ca0a5;--red:#e02620;--red2:#b40f0b;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#020304;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body{display:flex;justify-content:center}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{width:min(100%,520px);min-height:100vh;background:radial-gradient(circle at 50% 18%,#12171c 0,#080b0e 32%,#050607 70%);position:relative;overflow:hidden}
.screen{min-height:100vh;padding:20px 28px 32px;position:relative}
.hidden{display:none!important}
.top-space{height:8px}
.brand-logo{display:block;margin-inline:auto;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(255,60,50,.16),0 18px 50px rgba(0,0,0,.45)}
.brand-logo-large{width:58%;max-width:270px;margin-top:18px}
.brand-logo-small{width:38%;max-width:180px;margin-top:12px}
.brand-logo-return{width:32%;max-width:145px}
.hero-copy{text-align:center;margin:24px 0 28px}
.hero-copy h1{font-size:34px;line-height:1.12;margin:0;font-weight:800}
.hero-copy h1 span,.return-wrap h2 span{color:var(--red)}
.hero-copy p,.section-title p{color:var(--muted);margin:12px 0 0}
.btn{width:100%;border-radius:14px;padding:16px 18px;font-weight:800;border:1px solid transparent;font-size:18px}
.btn-primary{background:linear-gradient(180deg,#f03730,#cf1611);color:white;box-shadow:0 8px 22px rgba(190,20,18,.18)}
.btn-outline{background:transparent;border-color:var(--red);color:#ff3c34}
.divider{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;color:var(--muted);margin:26px 0 14px}
.divider span{height:1px;background:#565a5f}
.divider b{font-weight:500}
.small-center{text-align:center;color:var(--muted);font-size:15px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:38px;position:relative;z-index:2}
.pillar{text-align:center}.icon-circle{width:54px;height:54px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;margin:0 auto 9px;font-size:24px}
.pillar b{display:block;font-size:15px}.pillar small{display:block;color:var(--muted);margin-top:3px}
.mountain-scene{height:150px;margin:18px -28px -32px;background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.08)),radial-gradient(circle at 50% 44%,rgba(220,34,29,.55) 0 10%,transparent 11%),linear-gradient(145deg,transparent 0 38%,#0d1216 39% 53%,transparent 54%),linear-gradient(215deg,transparent 0 39%,#0b1013 40% 55%,transparent 56%);opacity:.95;position:relative}
.moon{position:absolute;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f0463c,#8e0c09 68%,#410000);left:50%;top:43%;transform:translate(-50%,-50%);box-shadow:0 0 32px rgba(222,25,20,.28)}
.compact{height:190px;margin-top:36px}
.back-btn{position:absolute;left:22px;top:24px;border:0;background:transparent;color:#ff342e;font-size:34px;z-index:3}
.section-title{text-align:center;margin:18px 0 18px}.section-title h2{font-size:30px;margin:0}
.profile-form{display:grid;gap:14px}.profile-form label,.profile-form legend{font-size:14px;color:#e8e8e8}
.profile-form input,.profile-form select{width:100%;margin-top:6px;background:#111416;color:#fff;border:1px solid #363c42;border-radius:12px;padding:14px 15px;outline:none}
.profile-form input:focus,.profile-form select:focus{border-color:#e0322b;box-shadow:0 0 0 3px rgba(224,50,43,.12)}
fieldset{border:0;padding:0;margin:0}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:6px}.segmented label{margin:0}.segmented input{display:none}
.segmented span{display:grid;place-items:center;min-height:46px;border:1px solid #353a40;border-radius:11px;background:#121518;color:#fff;padding:8px;font-size:13px}
.segmented input:checked+span{background:linear-gradient(180deg,#ed352e,#c91914);border-color:#ef453e}
.save-btn{margin-top:4px}.privacy-note{text-align:center;color:var(--muted);font-size:12px;line-height:1.45}
.return-wrap{padding-top:10vh;text-align:center}.return-wrap h2{font-size:34px;line-height:1.15;margin:24px 0}.text-btn{border:0;background:transparent;color:#ff3e36;margin-top:15px;font-size:15px}
.return-pillars{margin-top:52px}
.main-screen,.content-screen{padding:0;background:#07090b}
.app-header{display:flex;gap:14px;align-items:center;padding:18px 20px;border-bottom:1px solid #20252a;background:#0a0d10;position:sticky;top:0;z-index:5}
.app-header img{width:58px;height:58px;border-radius:50%}.app-header small{color:var(--muted)}.app-header h3{font-size:21px;margin:3px 0 0}
.header-icon-btn{margin-left:auto;width:42px;height:42px;border-radius:12px;border:1px solid #2b3137;background:#111519;color:#fff;font-size:18px}
.dashboard{padding:18px}
.today-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(145deg,#171b20,#0e1114);border:1px solid #282f35;border-radius:20px;padding:18px}
.today-card small{color:#ff443d;font-weight:800;letter-spacing:.12em}.today-card h2{margin:4px 0 5px;font-size:22px}.today-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.today-badge{width:76px;height:76px;border-radius:50%;border:2px solid #d52620;display:grid;place-items:center;align-content:center;flex:none;background:#0b0e10}.today-badge span{font-weight:900;font-size:20px}.today-badge small{font-size:9px;letter-spacing:0;color:var(--muted)}
.summary-card,.calorie-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:linear-gradient(180deg,#15191d,#0f1215);border:1px solid #272d32;border-radius:18px;padding:16px;margin-top:14px}
.summary-card div,.calorie-card div{text-align:center}.summary-card small,.calorie-card small,.progress-card p{color:var(--muted)}.summary-card strong,.calorie-card strong{display:block;margin-top:6px;font-size:18px}
.progress-card{margin-top:14px;background:#111519;border:1px solid #272d32;border-radius:18px;padding:16px}.progress-head{display:flex;justify-content:space-between}.progress-head span{color:#ff423a}
.progress-track{height:12px;background:#252b31;border-radius:999px;overflow:hidden;margin-top:12px}#progressFill{height:100%;width:0;background:linear-gradient(90deg,#b50f0b,#f13a32);border-radius:999px}
.progress-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin-top:9px}
.calorie-card{grid-template-columns:1fr 1fr}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.quick-action{border:1px solid #2c3339;background:#12161a;color:white;border-radius:14px;padding:13px;font-weight:700}.primary-action{border-color:#d92b24;background:linear-gradient(180deg,#e7332c,#bd1712)}
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.module-card{min-height:145px;text-align:left;background:#111519;color:#fff;border:1px solid #282e33;border-radius:18px;padding:16px}.module-card span{font-size:30px;display:block}.module-card b{display:block;font-size:17px;margin-top:10px}.module-card small{display:block;color:var(--muted);margin-top:4px}
.sub-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:15px 18px;border-bottom:1px solid #20262b;background:#0a0d10;position:sticky;top:0;z-index:5}.sub-header .header-icon-btn{margin:0}.sub-header div{text-align:center}.sub-header small{color:var(--muted)}.sub-header h3{margin:2px 0 0}
.weight-hero{text-align:center;background:radial-gradient(circle at 50% 0,#1a2025,#101417 55%,#0b0e10);border:1px solid #282f35;border-radius:20px;padding:24px 16px}.weight-hero small{color:var(--muted)}.weight-hero strong{display:block;font-size:44px;margin:5px 0}.weight-hero p{color:var(--muted);margin:0}
.card-block{background:#111519;border:1px solid #282f35;border-radius:18px;padding:16px;margin-top:14px}.card-block h3{margin:0 0 14px}
.weight-entry-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.weight-entry-row input,.note-label input{width:100%;background:#0a0d10;color:white;border:1px solid #343b42;border-radius:12px;padding:14px}.weight-entry-row span{font-weight:800;color:#c7c9cc}
.note-label{display:block;color:var(--muted);font-size:12px;margin:12px 0}.note-label input{margin-top:6px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.metric-card{background:#111519;border:1px solid #282f35;border-radius:16px;padding:15px}.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;margin-top:6px;font-size:21px}
.section-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.section-row h3{margin:0}.danger-link{border:0;background:transparent;color:#ff4c44;font-size:12px}
.chart-wrap{height:190px;border-radius:14px;background:#090c0e;border:1px solid #23292e;overflow:hidden;padding:8px}#weightChart{width:100%;height:100%}.chart-legend{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:7px}
.history-list{display:grid;gap:8px}.history-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px 0;border-bottom:1px solid #242a2f}.history-item:last-child{border-bottom:0}.history-item small{display:block;color:var(--muted);margin-top:3px}.history-item strong{font-size:17px}
.period-list{display:grid}.period-list div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #242a2f}.period-list div:last-child{border-bottom:0}.period-list span{color:var(--muted)}
.milestones{display:grid;grid-template-columns:1fr 1fr;gap:9px}.milestone{border:1px solid #2b3238;background:#0d1114;border-radius:14px;padding:12px}.milestone.done{border-color:#c72520;background:linear-gradient(145deg,#25100f,#111416)}.milestone b{display:block}.milestone small{color:var(--muted);display:block;margin-top:4px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1a1f24;border:1px solid #353b41;color:white;padding:12px 18px;border-radius:12px;z-index:20;box-shadow:0 16px 35px #0008}
@media(max-width:380px){.screen{padding-inline:20px}.hero-copy h1{font-size:29px}.segmented{grid-template-columns:1fr}.mountain-scene{margin-inline:-20px}.summary-card,.quick-actions,.metric-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}.today-badge{width:66px;height:66px}.progress-meta{font-size:9px}}

.nutrition-hero{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;background:linear-gradient(145deg,#171b20,#0e1114);border:1px solid #282f35;border-radius:20px;padding:18px}
.nutrition-ring-wrap{position:relative;width:140px;height:140px;margin:auto}
.nutrition-ring{width:140px;height:140px;transform:rotate(-90deg)}
.ring-bg,.ring-value{fill:none;stroke-width:10}
.ring-bg{stroke:#252b31}
.ring-value{stroke:#e6322b;stroke-linecap:round;stroke-dasharray:301.59;stroke-dashoffset:301.59;transition:.25s}
.ring-center{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center}
.ring-center strong{font-size:27px}.ring-center small{color:var(--muted)}
.nutrition-summary{display:grid;gap:12px}.nutrition-summary div{background:#0c1013;border:1px solid #262c31;border-radius:14px;padding:12px}.nutrition-summary small{display:block;color:var(--muted)}.nutrition-summary strong{display:block;margin-top:4px;font-size:18px}
.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.macro-card{background:#111519;border:1px solid #282f35;border-radius:15px;padding:13px;text-align:center}.macro-card small{display:block;color:var(--muted);font-size:11px}.macro-card strong{display:block;margin-top:5px}
.nutrition-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nutrition-form-grid.three{grid-template-columns:repeat(3,1fr)}
.note-label select{width:100%;margin-top:6px;background:#0a0d10;color:white;border:1px solid #343b42;border-radius:12px;padding:14px}
.meal-groups{display:grid;gap:14px}.meal-group{border:1px solid #252c31;border-radius:14px;overflow:hidden}.meal-group h4{margin:0;padding:11px 13px;background:#0d1114;color:#ff4a42;font-size:13px}
.meal-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 13px;border-top:1px solid #22282d}.meal-item:first-of-type{border-top:0}.meal-item small{display:block;color:var(--muted);margin-top:3px}.meal-actions{display:flex;gap:6px;align-items:center}.meal-actions button{width:34px;height:34px;border-radius:9px;border:1px solid #333a40;background:#111519;color:white}.meal-actions .delete{color:#ff554d}
.empty-state{color:var(--muted);text-align:center;padding:18px 6px}
@media(max-width:420px){.nutrition-hero{grid-template-columns:1fr}.nutrition-summary{grid-template-columns:1fr 1fr}.nutrition-form-grid.three{grid-template-columns:1fr}.macro-grid{grid-template-columns:1fr 1fr 1fr}}

.recipe-intro{padding:6px 2px 12px}.recipe-intro h2{font-size:24px;margin:0 0 5px}.recipe-intro p{color:var(--muted);margin:0}
.recipe-filter-title{font-size:12px;color:var(--muted);margin:12px 0 7px;text-transform:uppercase;letter-spacing:.08em}
.recipe-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.recipe-tabs button{background:#101417;color:#ddd;border:1px solid #2c3339;border-radius:11px;padding:11px 5px}.recipe-tabs button.active{background:linear-gradient(#e9332c,#c61510);border-color:#e43831;color:white}
.recipe-tools{display:grid;grid-template-columns:1fr 100px 110px;gap:7px;margin:14px 0}.recipe-tools input,.recipe-tools select{min-width:0;background:#0d1114;color:white;border:1px solid #30373d;border-radius:10px;padding:11px}
.recipe-count{color:var(--muted);font-size:13px;margin:8px 0}.recipe-list{display:grid;gap:9px}
.recipe-row{display:grid;grid-template-columns:92px 1fr 40px;min-height:104px;background:#111519;border:1px solid #282f35;border-radius:14px;overflow:hidden}
.recipe-thumb{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#48201c,#14191d 58%,#0b0e10);font-size:43px;position:relative}.recipe-thumb small{position:absolute;bottom:6px;font-size:8px;color:#ddd;background:#0009;padding:2px 5px;border-radius:8px}
.recipe-row-main{padding:11px 10px}.recipe-row-main b{display:block;font-size:14px}.recipe-row-main small{display:block;color:var(--muted);margin-top:5px;line-height:1.4}
.recipe-row-actions{display:grid;align-content:space-between;justify-items:center;padding:9px 5px}.recipe-row-actions button{border:0;background:transparent;color:white;font-size:21px}
.recipe-detail-image{height:240px;border-radius:18px;background:radial-gradient(circle at 50% 42%,#5a261f,#181e22 55%,#0a0d10);display:grid;place-items:center;font-size:92px;border:1px solid #30363b;overflow:hidden;position:relative}
.recipe-detail-image img{width:100%;height:100%;object-fit:cover;opacity:.8}.recipe-detail-image span{position:absolute;font-size:80px}
.recipe-detail-title{margin:17px 0 7px}.recipe-badges{display:flex;gap:7px;flex-wrap:wrap}.recipe-badge{font-size:11px;border:1px solid #a72420;color:#ff4a42;border-radius:7px;padding:5px 8px}
.recipe-nutrients{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.recipe-nutrients div{text-align:center;background:#101417;border:1px solid #282f35;border-radius:11px;padding:11px 5px}.recipe-nutrients strong{display:block}.recipe-nutrients small{color:var(--muted);font-size:9px}
.recipe-facts{background:#111519;border:1px solid #282f35;border-radius:14px;padding:5px 13px}.recipe-facts div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #252b30}.recipe-facts div:last-child{border-bottom:0}.recipe-facts span{color:var(--muted)}
.recipe-section{margin-top:20px}.recipe-section h3{margin-bottom:10px}.recipe-section ul,.recipe-section ol{padding-left:21px;color:#e8e8e8}.recipe-section li{margin:8px 0;line-height:1.45}
.recipe-cost{margin-top:15px;border:1px solid #a82823;background:#1c0e0d;border-radius:14px;padding:14px;display:flex;justify-content:space-between}.recipe-cost span{color:#ff4a42}
.recipe-add{margin-top:15px}.favorite-on{color:#ff3e36!important}
@media(max-width:430px){.recipe-tools{grid-template-columns:1fr 1fr}.recipe-tools input{grid-column:1/-1}.recipe-row{grid-template-columns:82px 1fr 36px}.recipe-nutrients{grid-template-columns:1fr 1fr}}

.recipe-thumb img{width:100%;height:100%;object-fit:cover}.recipe-detail-image img{opacity:1}

/* ===== DM19 PREMIUM UI v1.6 ===== */
:root{
  --bg:#050709;--bg2:#090c0f;--panel:#0f1317;--panel2:#14191e;--panel3:#181e24;
  --line:#252c32;--line2:#303840;--text:#f5f7f9;--muted:#90979f;--muted2:#68717a;
  --red:#e1322b;--red2:#b9110d;--redSoft:#2a0d0b;--green:#66b84f;--gold:#e8aa1e;
  --radius:18px;--radius-sm:13px;--shadow:0 20px 50px rgba(0,0,0,.35);
}
html,body{background:#020304}
body{color:var(--text)}
.app-shell{background:
 radial-gradient(circle at 50% -10%,rgba(224,50,43,.07),transparent 34%),
 linear-gradient(180deg,#070a0d,#050709 65%,#040506);
 box-shadow:0 0 80px rgba(0,0,0,.45)
}
.screen{padding-bottom:92px}
.main-screen,.content-screen{background:transparent}
.app-header,.sub-header{
  background:linear-gradient(180deg,rgba(8,11,14,.98),rgba(7,10,12,.96));
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(18px);
}
.app-header img{box-shadow:0 0 0 1px #3a1210,0 12px 30px #0008}
.header-icon-btn{background:#0d1114;border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.header-icon-btn:hover{border-color:#49312f}
.dashboard{padding:18px 16px 30px}
.today-card,.summary-card,.progress-card,.calorie-card,.card-block,.metric-card,.weight-hero,.nutrition-hero,.recipe-row,.recipe-facts{
  background:linear-gradient(180deg,rgba(20,25,30,.98),rgba(12,16,19,.98));
  border:1px solid rgba(255,255,255,.07);
  box-shadow:var(--shadow);
}
.today-card{border-radius:22px;padding:20px}
.today-card h2{font-size:24px;letter-spacing:-.02em}
.today-card p{font-size:13px}
.today-badge{background:radial-gradient(circle at 50% 40%,#171b20,#0b0e11);border:2px solid var(--red);box-shadow:0 0 28px rgba(225,50,43,.13)}
.summary-card{border-radius:20px;padding:14px}
.summary-card div{padding:8px 3px}
.summary-card strong{font-size:19px}
.progress-card{border-radius:20px;padding:18px}
.progress-track{height:10px;background:#22282d}
#progressFill{box-shadow:0 0 18px rgba(225,50,43,.25)}
.calorie-card{border-radius:18px}
.quick-action{border-radius:14px;box-shadow:0 10px 25px rgba(0,0,0,.22)}
.module-grid{gap:11px}
.module-card{
  min-height:136px;border-radius:18px;padding:16px;background:
  radial-gradient(circle at 100% 0,rgba(225,50,43,.07),transparent 30%),
  linear-gradient(180deg,#13181d,#0d1114);
  border:1px solid rgba(255,255,255,.07);box-shadow:0 12px 30px rgba(0,0,0,.24);
  transition:transform .12s ease,border-color .12s ease
}
.module-card:active{transform:scale(.985)}
.module-card span{font-size:28px}
.module-card b{font-size:16px}
.module-card small{font-size:12px}
.weight-hero{border-radius:22px;padding:28px 16px}
.weight-hero strong{font-size:48px;letter-spacing:-.04em}
.metric-grid{gap:10px}.metric-card{border-radius:16px;padding:16px}
.card-block{border-radius:20px;padding:18px}
.chart-wrap{background:linear-gradient(180deg,#0a0d10,#07090b);border:1px solid #20272d;border-radius:16px}
.nutrition-hero{border-radius:22px}
.macro-card{background:linear-gradient(180deg,#12171b,#0d1114);border:1px solid rgba(255,255,255,.07);box-shadow:0 10px 22px #0004}
.recipe-intro{padding:7px 2px 16px}
.recipe-intro h2{font-size:26px;letter-spacing:-.025em}
.recipe-tabs button{
  border-radius:12px;background:#0d1114;border:1px solid #262d33;color:#d9dde1;
  font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.recipe-tabs button.active{
  background:linear-gradient(180deg,#f13c34,#cc1712);
  border-color:#ef423a;box-shadow:0 8px 20px rgba(190,20,18,.22)
}
.recipe-tools input,.recipe-tools select{
  background:#0a0d10;border:1px solid #2d343a;border-radius:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.recipe-list{gap:10px}
.recipe-row{
  min-height:112px;border-radius:16px;overflow:hidden;
  transition:transform .12s ease,border-color .12s ease
}
.recipe-row:active{transform:scale(.992)}
.recipe-thumb{background:#0b0e11}
.recipe-thumb img{filter:saturate(1.06) contrast(1.03)}
.recipe-row-main b{font-size:15px;line-height:1.25}
.recipe-row-main small{font-size:11px}
.recipe-row-actions button{font-size:19px}
.recipe-detail-image{
  height:255px;border-radius:20px;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 45px rgba(0,0,0,.35)
}
.recipe-detail-title{font-size:28px;letter-spacing:-.025em}
.recipe-badge{border-radius:999px;padding:6px 10px;background:#140c0b}
.recipe-nutrients{gap:8px}
.recipe-nutrients div{
  background:linear-gradient(180deg,#11161a,#0c1013);border:1px solid #262d33;border-radius:13px;padding:13px 7px
}
.recipe-nutrients strong{font-size:18px}
.recipe-facts{border-radius:16px}
.recipe-section h3{font-size:20px}
.recipe-section li{color:#d9dde1}
.recipe-cost{border-radius:16px;background:linear-gradient(180deg,#21100f,#130a09);box-shadow:0 12px 25px #0003}
.btn-primary{
  background:linear-gradient(180deg,#ef3b33,#c91510);
  border:1px solid #ef433b;box-shadow:0 12px 28px rgba(188,18,15,.22),inset 0 1px 0 rgba(255,255,255,.12)
}
.btn-outline{border:1px solid #d52b24;background:#0b0e11}
.profile-form input,.profile-form select,.weight-entry-row input,.note-label input,.note-label select{
  background:#0a0d10;border:1px solid #30373d;border-radius:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.segmented span{background:#0c1013;border:1px solid #2b3238}
.segmented input:checked+span{box-shadow:0 8px 20px rgba(186,20,16,.18)}
.brand-logo{box-shadow:0 0 0 1px rgba(255,65,55,.22),0 20px 50px rgba(0,0,0,.42)}
.toast{background:#151b20;border:1px solid #343c43;border-radius:13px}
.bottom-nav{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);
  width:min(100%,520px);display:grid;grid-template-columns:repeat(5,1fr);
  background:rgba(8,11,14,.96);backdrop-filter:blur(18px);
  border-top:1px solid rgba(255,255,255,.07);z-index:40;padding:7px 6px calc(7px + env(safe-area-inset-bottom));
  box-shadow:0 -12px 32px rgba(0,0,0,.35)
}
.bottom-nav button{
  border:0;background:transparent;color:#8f969d;border-radius:12px;padding:7px 4px;
  display:grid;place-items:center;gap:2px
}
.bottom-nav button span{font-size:19px;line-height:1}
.bottom-nav button small{font-size:9px}
.bottom-nav button.active{color:#ff4139;background:linear-gradient(180deg,#1e0c0b,#130908);box-shadow:inset 0 0 0 1px #4c1714}
@media(min-width:700px){
  .app-shell{border-left:1px solid #1a2024;border-right:1px solid #1a2024}
}

/* ===== Movement module ===== */
.movement-hero{
  display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;
  background:linear-gradient(145deg,#171c20,#0d1114);border:1px solid rgba(255,255,255,.07);
  border-radius:22px;padding:22px;box-shadow:var(--shadow)
}
.movement-hero small{color:#ff433b;font-weight:800;letter-spacing:.1em}
.movement-hero strong{display:block;font-size:48px;line-height:1;margin-top:7px;letter-spacing:-.04em}
.movement-hero p{margin:5px 0 0;color:var(--muted)}
.movement-circle{
  width:94px;height:94px;border-radius:50%;display:grid;place-items:center;align-content:center;
  background:radial-gradient(circle at 50% 40%,#171c20,#0b0e11);
  border:3px solid #e2312a;box-shadow:0 0 28px rgba(225,49,42,.13)
}
.movement-circle span{font-size:23px;font-weight:900}.movement-circle small{font-size:9px;color:var(--muted);letter-spacing:0}
.movement-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.soft-label{color:var(--muted);font-size:12px}
.movement-week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;height:180px;align-items:end;padding-top:12px}
.movement-day{display:grid;grid-template-rows:1fr auto auto;gap:5px;height:100%;align-items:end;text-align:center}
.movement-bar-wrap{height:120px;display:flex;align-items:end;justify-content:center}
.movement-bar{width:70%;min-height:4px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#f03a33,#b7130f);box-shadow:0 0 16px rgba(225,49,42,.16)}
.movement-day b{font-size:10px}.movement-day small{font-size:9px;color:var(--muted)}
.future-card p{color:var(--muted);line-height:1.5}.future-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(max-width:420px){.movement-form-grid,.future-actions{grid-template-columns:1fr}.movement-hero{grid-template-columns:1fr auto}.movement-hero strong{font-size:42px}}

.integrated-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.integrated-card{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;background:linear-gradient(180deg,#12171b,#0d1114);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:13px;box-shadow:0 10px 24px #0003}
.integrated-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#1a0d0c;border:1px solid #4b1714;font-size:20px}
.integrated-card small{display:block;color:var(--muted);font-size:10px}.integrated-card strong{display:block;font-size:17px;margin-top:3px}.integrated-card span{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.stats-hero{background:linear-gradient(145deg,#171c20,#0d1114);border:1px solid rgba(255,255,255,.07);border-radius:22px;padding:20px;box-shadow:var(--shadow)}
.stats-hero>small{color:#ff433b;font-weight:800;letter-spacing:.1em}.stats-hero-value{display:flex;align-items:end;gap:9px;margin:8px 0 13px}.stats-hero-value strong{font-size:44px;line-height:1}.stats-hero-value span{color:var(--muted);padding-bottom:5px}
#statsProgressFill{height:100%;background:linear-gradient(90deg,#b50f0b,#f13a32);border-radius:999px}
.stats-list div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #242a2f}.stats-list div:last-child{border-bottom:0}.stats-list span{color:var(--muted)}
.stats-trend-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:190px;align-items:end}.trend-col{height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;text-align:center;gap:4px}.trend-bars{height:135px;display:flex;align-items:end;justify-content:center;gap:3px}.trend-cal,.trend-steps{width:11px;border-radius:6px 6px 2px 2px;min-height:3px}.trend-cal{background:linear-gradient(#f03a33,#b7130f)}.trend-steps{background:linear-gradient(#bfc5ca,#59626b)}.trend-col b{font-size:9px}.trend-col small{font-size:8px;color:var(--muted)}
.goal-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.goal-card{border:1px solid #2b3238;background:#0d1114;border-radius:14px;padding:13px}.goal-card.done{border-color:#2d6b2d;background:linear-gradient(145deg,#0d2110,#0d1114)}.goal-card.warn{border-color:#6c281f;background:linear-gradient(145deg,#23100d,#0d1114)}.goal-card b{display:block}.goal-card small{display:block;color:var(--muted);margin-top:5px;line-height:1.35}
@media(max-width:390px){.integrated-grid,.goal-cards{grid-template-columns:1fr}}

/* ===== Food database v1.9 ===== */
.food-search-row{display:grid;grid-template-columns:1fr 150px;gap:8px;margin-top:13px}
.food-search-row input,.food-search-row select,.custom-food-form input,.custom-food-form select{
  background:#0a0d10;color:#fff;border:1px solid #30373d;border-radius:11px;padding:12px;width:100%
}
.food-db-results{display:grid;gap:8px;margin-top:12px;max-height:430px;overflow:auto;padding-right:2px}
.food-db-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#0d1114;border:1px solid #262d33;border-radius:13px;padding:12px}
.food-db-item b{display:block}.food-db-item small{display:block;color:var(--muted);margin-top:4px;line-height:1.4}
.food-db-actions{display:flex;gap:6px}.food-db-actions button{width:38px;height:38px;border-radius:10px;border:1px solid #30373d;background:#12171b;color:#fff}.food-db-actions .fav-on{color:#ff453d;border-color:#6a211c}
.custom-food-form{margin-top:12px}.custom-food-form.hidden{display:none!important}
.food-quick-add{position:fixed;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:flex-end;justify-content:center}
.food-quick-panel{width:min(100%,520px);background:linear-gradient(180deg,#171c20,#0b0f12);border:1px solid #30373d;border-radius:22px 22px 0 0;padding:22px 20px 26px;box-shadow:0 -20px 50px #0008;position:relative}
.quick-close{position:absolute;right:15px;top:13px;width:38px;height:38px;border-radius:50%;border:1px solid #30373d;background:#0d1114;color:#fff;font-size:22px}
.food-quick-panel h3{font-size:23px;margin:0 46px 5px 0}.quick-preview{display:flex;justify-content:space-between;background:#0b0e11;border:1px solid #272e34;border-radius:13px;padding:13px;margin:12px 0}.quick-preview span{color:var(--muted)}
@media(max-width:420px){.food-search-row{grid-template-columns:1fr}.food-db-item{grid-template-columns:1fr}.food-db-actions{justify-content:flex-end}}

/* ===== v2.0 Navigation / Header fixes ===== */
.premium-sub-header{
  grid-template-columns:48px 1fr 48px;
  min-height:76px;
  padding:10px 14px;
}
.premium-sub-header .sub-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
  text-align:left;
}
.premium-sub-header .sub-brand img{
  width:46px;
  height:46px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 0 1px rgba(255,65,55,.24),0 8px 22px rgba(0,0,0,.42);
  flex:none;
}
.premium-sub-header .sub-brand div{min-width:0}
.premium-sub-header .sub-brand small{display:block;color:var(--muted);font-size:10px}
.premium-sub-header .sub-brand h3{margin:2px 0 0;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.back-visible{
  color:#fff!important;
  font-size:24px!important;
  font-weight:800;
  border-color:#3a4249!important;
  background:linear-gradient(180deg,#171c20,#0d1114)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.24)!important;
}
.back-visible:active{transform:scale(.96)}
.header-spacer{width:42px;height:42px}
.profile-brand-logo{width:44%!important;max-width:190px!important;margin-top:8px!important}
@media(max-width:380px){
  .premium-sub-header .sub-brand img{width:40px;height:40px}
  .premium-sub-header .sub-brand h3{font-size:16px}
}

/* ===== Foto-Erkennung v2.1 ===== */
.photo-detect-card{background:linear-gradient(180deg,#151a1f,#0c1013)}
.photo-info{margin:12px 0 14px;padding:13px 14px;border-radius:13px;border:1px solid #5a281f;background:linear-gradient(180deg,#21120f,#120b09);color:#d9dce0;font-size:12px;line-height:1.55}
.photo-info b,.photo-info strong{color:#ff6259}
.photo-upload{display:block;border:1px dashed #934039;border-radius:15px;padding:17px;text-align:center;background:#0c1013;color:#fff;font-weight:700}
.photo-upload input{display:none}
.photo-preview-wrap{margin-top:13px;position:relative;border-radius:16px;overflow:hidden;border:1px solid #2f363c;background:#080a0c}
.photo-preview-wrap img{display:block;width:100%;max-height:290px;object-fit:cover}
.photo-preview-overlay{position:absolute;left:10px;bottom:10px;background:#000b;border:1px solid #3b434a;color:#fff;border-radius:999px;padding:6px 9px;font-size:10px}
.photo-detection-panel{margin-top:14px}
.estimate-badge{font-size:10px;border:1px solid #8f3b34;color:#ff5a51;background:#1b0d0b;border-radius:999px;padding:5px 8px}
.photo-suggestions{display:grid;gap:8px;margin:12px 0}
.photo-suggestion{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#0d1114;border:1px solid #2a3137;border-radius:13px;padding:11px}
.photo-suggestion.active{border-color:#d43029;background:linear-gradient(180deg,#1b1110,#0d1114)}
.photo-suggestion b{display:block}.photo-suggestion small{display:block;color:var(--muted);margin-top:3px}
.photo-suggestion button{border:0;background:transparent;color:#ff4a42;font-size:20px}

/* ===== Local Food AI v2.2 ===== */
.local-ai-info{margin:10px 0 14px;padding:12px 13px;background:#0a1115;border:1px solid #263b45;border-radius:13px}
.local-ai-info>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.local-ai-info b{color:#dfeaf0}.local-ai-info span{font-size:10px;color:#8fc7a4;border:1px solid #315744;border-radius:999px;padding:4px 7px}.local-ai-info small{display:block;color:var(--muted);line-height:1.45;margin-top:7px}
.photo-ai-button{margin-top:11px}
.ai-progress{display:flex;gap:10px;align-items:center;margin-top:11px;padding:11px 12px;border-radius:12px;background:#0d1114;border:1px solid #2b3339;color:var(--muted);font-size:11px}
.ai-spinner{width:18px;height:18px;border-radius:50%;border:2px solid #3a4248;border-top-color:#e43730;animation:dmspin .8s linear infinite;flex:none}
@keyframes dmspin{to{transform:rotate(360deg)}}
.ai-score{color:#8fc7a4!important}

/* ===== GPS tracking v2.3 ===== */
.gps-card{background:linear-gradient(180deg,#141a1f,#0c1013)}
.gps-info{margin:12px 0;padding:12px 13px;border-radius:12px;background:#0a1115;border:1px solid #263b45;color:var(--muted);font-size:11px;line-height:1.5}
.gps-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px}
.gps-type-tabs button{background:#0d1114;color:#dfe3e6;border:1px solid #2b3339;border-radius:11px;padding:11px;font-weight:700}
.gps-type-tabs button.active{background:linear-gradient(180deg,#ef3a33,#ca1712);border-color:#e63b34;color:#fff}
.gps-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.gps-live-grid div{background:#0d1114;border:1px solid #282f35;border-radius:13px;padding:13px}
.gps-live-grid small{display:block;color:var(--muted);font-size:10px}.gps-live-grid strong{display:block;margin-top:5px;font-size:18px}
.gps-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.gps-actions button:disabled{opacity:.4;cursor:not-allowed}
.gps-route-box{height:190px;margin-top:13px;border-radius:15px;overflow:hidden;background:linear-gradient(180deg,#080b0d,#0b0f12);border:1px solid #242b31}
.gps-route-box svg{width:100%;height:100%}
.gps-route-path{fill:none;stroke:#f03a33;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.gps-route-dot{fill:#f5f5f5;stroke:#d52620;stroke-width:2}
.gps-live{color:#8fc7a4!important;border-color:#315744!important}
.gps-error{color:#ff766d!important;border-color:#6c281f!important}
@media(max-width:400px){.gps-actions{grid-template-columns:1fr}}

/* ===== Wochenplan v2.4 ===== */
.weekplan-hero{display:flex;justify-content:space-between;gap:15px;align-items:center;background:linear-gradient(145deg,#171c20,#0d1114);border:1px solid rgba(255,255,255,.07);border-radius:22px;padding:20px;box-shadow:var(--shadow)}
.weekplan-hero small{color:#ff433b;font-weight:800;letter-spacing:.1em}.weekplan-hero h2{margin:4px 0}.weekplan-hero p{margin:0;color:var(--muted);font-size:12px}
.week-budget-box{min-width:100px;text-align:center;background:#0b0f12;border:1px solid #47201c;border-radius:15px;padding:12px}.week-budget-box span{display:block;color:var(--muted);font-size:10px}.week-budget-box strong{display:block;margin-top:4px}
.week-settings-grid,.week-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.week-summary-grid{margin-top:0}
.week-days{display:grid;gap:12px;margin-top:14px}
.week-day-card{background:linear-gradient(180deg,#12171b,#0d1114);border:1px solid rgba(255,255,255,.07);border-radius:18px;overflow:hidden}
.week-day-head{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;background:#0d1114;border-bottom:1px solid #252c31}.week-day-head b{font-size:16px}.week-day-head small{color:var(--muted)}
.week-meals{display:grid;gap:0}.week-meal-row{display:grid;grid-template-columns:95px 1fr auto;gap:9px;align-items:center;padding:11px 13px;border-bottom:1px solid #22282d}.week-meal-row:last-child{border-bottom:0}.week-meal-row>span{color:#ff4b43;font-size:11px;font-weight:700}.week-meal-row select{width:100%;min-width:0;background:#0a0d10;color:#fff;border:1px solid #2e353b;border-radius:10px;padding:10px}.week-meal-meta{text-align:right}.week-meal-meta b{display:block;font-size:12px}.week-meal-meta small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.shopping-list{display:grid;gap:7px;margin-top:12px}.shopping-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:11px 12px;background:#0d1114;border:1px solid #282f35;border-radius:12px}.shopping-item input{width:18px;height:18px;accent-color:#d62b25}.shopping-item.checked span{text-decoration:line-through;color:#68717a}.shopping-item span{line-height:1.35}
.budget-ok{color:#8fc7a4!important}.budget-over{color:#ff655d!important}
@media(max-width:420px){.week-settings-grid,.week-summary-grid{grid-template-columns:1fr}.week-day-head{align-items:flex-start}.week-meal-row{grid-template-columns:80px 1fr}.week-meal-meta{grid-column:2;text-align:left}}

/* ===== v2.5 live steps + QA ===== */
.step-sensor-card{background:linear-gradient(180deg,#141a1f,#0c1013)}
.sensor-info{margin:12px 0;padding:12px 13px;border-radius:12px;background:#0a1115;border:1px solid #263b45;color:var(--muted);font-size:11px;line-height:1.5}
.sensor-live{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sensor-live div{background:#0d1114;border:1px solid #282f35;border-radius:13px;padding:13px}
.sensor-live small{display:block;color:var(--muted);font-size:10px}.sensor-live strong{display:block;font-size:22px;margin-top:5px}
.diagnostic-list{display:grid;gap:8px;margin-top:12px}
.diagnostic-item{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:12px;background:#0d1114;border:1px solid #282f35;border-radius:13px}
.diagnostic-item.pass{border-color:#285537}.diagnostic-item.warn{border-color:#665323}.diagnostic-item.fail{border-color:#6a2822}
.diagnostic-icon{font-size:18px}.diagnostic-item b{display:block}.diagnostic-item small{display:block;color:var(--muted);margin-top:4px;line-height:1.4}

/* ===== Account / Sync v2.6 ===== */
.account-screen{background:radial-gradient(circle at 50% 12%,#171b20,#07090b 45%,#050607)}
.account-wrap{max-width:430px;margin:auto;padding-top:6vh;text-align:center}
.account-wrap h2{font-size:30px;margin:22px 0 5px}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0 14px}
.account-tabs button{padding:12px;border-radius:11px;border:1px solid #2e353b;background:#0d1114;color:#fff}
.account-tabs button.active{background:linear-gradient(180deg,#ef3a33,#c91813);border-color:#e33b34}
.account-form{display:grid;gap:12px;text-align:left;background:linear-gradient(180deg,#12171b,#0d1114);border:1px solid #282f35;border-radius:18px;padding:18px}
.account-form label{font-size:13px}.account-form input,#deleteAccountPassword{width:100%;box-sizing:border-box;margin-top:6px;padding:13px;border-radius:11px;background:#080b0e;border:1px solid #30373d;color:#fff}
.account-gap{margin-top:10px}

/* ===== Rezeptbild-Fix v2.6.4 ===== */
.recipe-detail-image{height:310px!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:hidden!important;background:#080b0d!important}
.recipe-detail-image .recipe-detail-bg{position:absolute!important;inset:-28px!important;width:calc(100% + 56px)!important;height:calc(100% + 56px)!important;object-fit:cover!important;filter:blur(22px) brightness(.38) saturate(.9)!important;transform:scale(1.08)!important;opacity:1!important}
.recipe-detail-image .recipe-detail-main{position:relative!important;z-index:2!important;width:auto!important;height:auto!important;max-width:92%!important;max-height:282px!important;object-fit:contain!important;filter:none!important;opacity:1!important;border-radius:14px!important;box-shadow:0 12px 35px rgba(0,0,0,.48)!important}
.recipe-thumb img{filter:saturate(1.04) contrast(1.02)!important}
@media(max-width:480px){.recipe-detail-image{height:280px!important}.recipe-detail-image .recipe-detail-main{max-height:252px!important;max-width:94%!important}}

/* ===== Datenschutz & Kontolöschung v2.6.7 ===== */
.legal-page{max-width:760px}
.legal-page h2{font-size:28px;margin-bottom:4px}
.legal-page h3{margin:22px 0 8px;font-size:16px}
.legal-page p{color:#d4d8dc;line-height:1.65;font-size:13px}
.legal-warning{margin-top:20px;padding:14px;border-radius:13px;border:1px solid #704c1f;background:#20160a;color:#f4c879;font-size:12px;line-height:1.5}
.consent-row{display:grid!important;grid-template-columns:22px 1fr;gap:10px;align-items:start!important;padding:12px;border:1px solid #30373d;border-radius:12px;background:#0b0f12;font-size:12px;line-height:1.5}
.consent-row input{width:18px!important;height:18px!important;margin:2px 0 0!important;accent-color:#db312a}
.inline-link{display:inline;border:0;background:none;color:#ff5149;padding:0;text-decoration:underline;font:inherit;cursor:pointer}
#registerSubmitBtn:disabled{opacity:.4;cursor:not-allowed}
.danger-delete{border-color:#7a2822!important;color:#ff6a62!important;background:#170b0a!important}
