/* Polished v4g — fixes: daily render when locked, retro hidden until report, column labels */
:root{
  --bg:#0a0a0a; --card:#121212; --ink:#e6f1ff; --muted:#9fb0c3;
  --green:#00FF00; --blue:#4169E1; --red:#FF4500; --line:#252525; --chip:#161616;
  --shadow:0 14px 40px rgba(0,0,0,.45); --radius:16px; --btnr:10px;
}
*{box-sizing:border-box; min-width:0}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}
.container{max-width:920px;margin:0 auto;padding:8px 12px 12px}

.app-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:end;gap:12px;
  padding:6px 12px;background:#151515;backdrop-filter:blur(10px);border-bottom:1px solid #252525}
.app-header h1{margin:0;font-size:18px;letter-spacing:.2px;color:var(--green)}
.small{font-size:12px}.muted{color:var(--muted)} .nowrap{white-space:nowrap}

.pill-btn{padding:8px 14px;border-radius:var(--btnr);border:1px solid var(--line);background:var(--chip);color:var(--ink);cursor:pointer}
.pill-btn.primary{background:var(--green);color:#001700;border-color:transparent}
.pill-btn[disabled]{opacity:.45;filter:grayscale(60%);pointer-events:none}

.badge{background:#141414;border:1px solid var(--line);padding:4px 8px;border-radius:var(--btnr);white-space:nowrap}
.badge.invert{background:var(--green);color:#001700;border-color:transparent}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:16px 0;box-shadow:var(--shadow)}
.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.card-head h2{margin:0;font-size:18px;order:1}
.card-head .period{flex-basis:100%;order:2}
.card-head .actions{display:flex;gap:8px;align-items:center;margin-left:auto;order:3}

h2{margin:0;font-size:18px}

.vstack{display:flex;flex-direction:column}.hstack{display:flex;align-items:center}
.gap12{gap:12px}.gap8{gap:8px}.end{justify-content:flex-end}

.sparkline{width:100%;height:44px}
.today-block{background:#151515;border:1px solid var(--line);border-radius:14px;padding:10px}
.today-title{margin-bottom:6px}
.delta-row{display:flex;justify-content:space-between;align-items:center;margin-top:2px}
.delta{font-variant-numeric:tabular-nums}.delta.pos{color:var(--green)}.delta.neg{color:var(--red)}
.setlist{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.setpill{background:#141414;border:1px solid var(--line);padding:4px 8px;border-radius:var(--btnr);font-size:12px}

.ppr-wrap{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;margin:.5rem 0 1rem}
.ppr-circle{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0deg,#1c1c1c 0deg)}
.ppr-circle span{font-size:28px;font-weight:800}
.ppr-circle small{color:var(--muted)}
.ppr-why{background:#141414;border:1px solid var(--line);border-radius:12px;padding:10px}

.segmented{display:flex;background:#141414;border:1px solid var(--line);border-radius:var(--btnr);padding:3px}
.segmented button{background:transparent;border:none;color:#a9bad0;padding:6px 10px;border-radius:var(--btnr);cursor:pointer}
.segmented button.active{background:var(--green);color:#001700;font-weight:700}

.grid.comp-grid{display:grid;grid-template-columns:1fr;gap:12px}
.comp-card{background:#151515;border:1px solid var(--line);border-radius:12px;padding:10px}
.comp-card .label{display:flex;justify-content:space-between;align-items:center}

.grid.bp-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:680px){.grid.bp-grid{grid-template-columns:1fr 1fr}}
@media(min-width:920px){.grid.bp-grid{grid-template-columns:1fr 1fr 1fr}}
.bp-card{background:#151515;border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
.bp-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.toggle{background:#131313;border:1px solid var(--line);border-radius:var(--btnr);padding:6px 8px;cursor:pointer;color:#fff}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin-top:8px;display:none;max-height:220px}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
th,td{padding:8px 10px;border-bottom:1px solid #1a2639;white-space:nowrap}
thead th{position:sticky;top:0;background:#141414;text-align:left}

.ai-box{margin-top:10px;background:#141414;border:1px solid var(--line);border-radius:12px;padding:10px;color:#cce7d4;box-shadow:inset 0 0 0 1px rgba(0,255,0,.08)}

.calorie-box{background:#151515;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:10px}
.cal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:6px}
.cal-grid label{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cal-grid input,.cal-grid select{width:120px;background:#121212;border:1px solid var(--line);border-radius:var(--btnr);padding:6px;color:#fff}
.cal-ai .chk{display:flex;align-items:center;gap:6px}
.kpi{background:#141414;border:1px solid var(--line);border-radius:12px;padding:10px;min-width:120px;margin-top:8px}
.kpi .v{font-weight:800}

.day-card{background:#151515;border:1px solid var(--line);border-radius:12px;padding:10px}
.item-header{display:grid;grid-template-columns:1.4fr .7fr .6fr .6fr;gap:8px;color:var(--muted);font-size:12px;margin-top:4px}
.item-row{display:grid;grid-template-columns:1.4fr .7fr .6fr .6fr;gap:8px;align-items:center;margin-top:6px}
.item-row input{width:100%;background:#121212;border:1px solid var(--line);border-radius:var(--btnr);padding:8px;color:var(--ink)}

.toast{position:fixed;right:14px;bottom:84px;background:#112a18;color:#d5ffe0;border:1px solid #1d8e3d;padding:10px 12px;border-radius:10px;display:none}
.toast.show{display:block}

.container>.card:first-of-type{margin-top:4px}

/* --- Read-Only weekly plan block --- */
#sec-next-ro .day-row{display:flex;align-items:center;gap:12px;}
#sec-next-ro .day-label{min-width:2.5rem;font-weight:600;opacity:.9;}
#sec-next-ro .plan-text{flex:1;}
#sec-next-ro .pill{display:inline-block;padding:.15rem .5rem;border-radius:999px;border:1px solid rgba(0,255,0,.35);}
