:root{--bg:#f5f7f6;--card:#fff;--ink:#17302d;--muted:#5b6f6b;--line:#dbe4e1;--pri:#0f766e;--pri-d:#0b5a54;--pri-l:#d9f0ec;
--ok:#15803d;--okbg:#dcf5e3;--warn:#b45309;--warnbg:#fdecc8;--bad:#b91c1c;--badbg:#fde0e0;--low:#7c2d92;--lowbg:#f1defa;--r:16px;
font-size:18px}
@media (prefers-color-scheme:dark){:root{--bg:#0e1816;--card:#16251f;--ink:#e6f2ef;--muted:#9fb5b0;--line:#27403a;--pri:#2dd4bf;--pri-d:#5eead4;--pri-l:#133a35;--okbg:#14391f;--warnbg:#3b2d0c;--badbg:#431616;--lowbg:#35163f;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--low:#d8a4ec}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.45;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
h1{font-size:1.5rem;margin:.2em 0}h2{font-size:1.2rem;margin:1.1em 0 .5em}h3{font-size:1.05rem;margin:.8em 0 .3em}
.boot{text-align:center;margin-top:30vh;color:var(--muted)}
.wrap{max-width:760px;margin:0 auto;padding:12px 14px calc(88px + env(safe-area-inset-bottom))}
.wrap.wide{max-width:1050px}
header.top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0 4px}
header.top .who{color:var(--muted);font-size:.9rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:10px 0}
.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.sp{justify-content:space-between}.grow{flex:1}
.grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.grid2{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
label{display:block;font-weight:600;margin:.7em 0 .25em}
input,select,textarea{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);min-height:48px}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid var(--pri);outline-offset:1px}
textarea{min-height:90px}
input[type=checkbox]{width:auto;min-height:0;transform:scale(1.3);margin-right:8px}
.chk{display:flex;align-items:flex-start;font-weight:400;gap:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 18px;border-radius:14px;border:0;background:var(--pri);color:#fff;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--pri-d)}.btn:disabled{opacity:.5}
.btn.sec{background:var(--pri-l);color:var(--pri-d)}
.btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.btn.danger{background:var(--bad)}
.btn.big{min-height:60px;font-size:1.15rem;width:100%}
.btn.sm{min-height:38px;padding:6px 12px;font-size:.9rem;border-radius:10px}
.err{color:var(--bad);font-weight:600;margin:.5em 0}
.note{background:var(--pri-l);border-radius:12px;padding:10px 12px;margin:10px 0}
.alert{background:var(--badbg);color:var(--bad);border:2px solid var(--bad);border-radius:14px;padding:12px;margin:10px 0;font-weight:700}
.tabs{display:flex;gap:6px;overflow-x:auto;margin:10px 0;padding-bottom:2px}
.tabs button{flex:0 0 auto;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 16px;min-height:42px;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--pri);color:#fff;border-color:var(--pri);font-weight:700}
nav.bottom{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}
nav.bottom a{flex:1;text-align:center;padding:8px 2px 10px;color:var(--muted);text-decoration:none;font-size:.78rem}
nav.bottom a b{display:block;font-size:1.5rem;line-height:1.2}
nav.bottom a[aria-current=page]{color:var(--pri);font-weight:700}
@media (min-width:900px){nav.bottom{position:static;border:0;background:none;max-width:760px;margin:0 auto}}
/* nível de glicemia */
.lv{display:inline-block;border-radius:999px;padding:2px 10px;font-weight:700;font-size:.85rem}
.lv.in_range{background:var(--okbg);color:var(--ok)}.lv.high,.lv.below{background:var(--warnbg);color:var(--warn)}
.lv.very_high{background:var(--badbg);color:var(--bad)}.lv.low{background:var(--lowbg);color:var(--low)}
/* Hoje */
.hello{font-size:1.35rem;font-weight:700}
.bubbles{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.bub{width:26px;height:26px;border-radius:50%;background:var(--line);border:2px solid var(--line)}
.bub.done{background:radial-gradient(circle at 30% 30%,#fff9,transparent 40%),var(--pri);border-color:var(--pri);animation:pop .4s}
@keyframes pop{0%{transform:scale(.3)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.bub.done{animation:none}}
.garden{display:flex;gap:6px;font-size:1.6rem}.garden span.dim{filter:grayscale(1);opacity:.35}
.item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:var(--r);padding:14px;margin:8px 0;cursor:pointer;min-height:72px}
.item .ic{font-size:2rem}.item .tx{flex:1}.item .tm{font-weight:800;font-size:1.1rem}
.item.due{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-l)}
.item.late{border-color:var(--warn)}.item.done{opacity:.85;background:var(--okbg);border-color:transparent}
.item .val{font-size:1.6rem;font-weight:800}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.keypad button{min-height:64px;font-size:1.6rem;font-weight:700;border-radius:14px;border:1.5px solid var(--line);background:var(--card);cursor:pointer}
.display{font-size:3.2rem;font-weight:800;text-align:center;min-height:1.3em;letter-spacing:2px}
.display small{font-size:1rem;color:var(--muted);font-weight:400}
.modal{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:20}
.modal>div{background:var(--bg);width:100%;max-width:520px;border-radius:22px 22px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:94vh;overflow:auto}
@media (min-width:700px){.modal{align-items:center}.modal>div{border-radius:22px}}
.big-msg{font-size:1.25rem;font-weight:700}
.pop-ok{font-size:3rem;text-align:center}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-weight:600}
.scroll-x{overflow-x:auto}
.stat{text-align:center}.stat b{display:block;font-size:1.6rem}.stat span{color:var(--muted);font-size:.85rem}
.chart{width:100%;height:auto;display:block}
.chart text{fill:var(--muted);font-size:11px}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#17302d;color:#fff;padding:12px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50;max-width:90%}
#toast.show{opacity:1}
.hist-day{font-weight:700;margin:14px 0 4px}
.tag{font-size:.75rem;background:var(--pri-l);color:var(--pri-d);border-radius:6px;padding:1px 6px;margin-left:4px}
.slotrow{display:grid;grid-template-columns:1fr 90px auto;gap:6px;align-items:center;margin:6px 0}
.slotrow.med{grid-template-columns:1fr 1fr}
.sr{position:absolute;left:-9999px}
@media print{nav.bottom,header.top,.noprint{display:none}}
