@font-face{font-family:Moon Time;src:url(/fonts/moon-time-regular.ttf)format("truetype");font-display:swap}:root{--navy:#000562;--gold:gold;--teal:#7ae1d5;--teal-dark:#64cdbf;--bronze:#8b7355;--ink:#333;--muted:#666;--line:#e0e8e6;--bg:#f7faf9;--red:#c8102e;--green:#128c4a}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Montserrat,system-ui,sans-serif;line-height:1.6}a{color:var(--navy)}h1,h2,h3{color:var(--navy);margin:0 0 .5em;line-height:1.2}.container{max-width:900px;margin:0 auto;padding:0 16px}.site-header{background:var(--navy)}.site-header .container{justify-content:space-between;align-items:center;gap:12px;min-height:68px;display:flex}.brand{color:#fff;align-items:baseline;gap:10px;text-decoration:none;display:flex}.brand-name{color:var(--gold);font-family:Moon Time,cursive;font-size:2rem}.brand-sub{letter-spacing:2px;text-transform:uppercase;color:var(--teal);font-size:.8rem;font-weight:600}.header-link{color:#fff;font-size:.9rem;font-weight:600;text-decoration:none}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:48px;padding:28px 0 40px;font-size:.85rem}.hero{background:var(--navy);text-align:center;color:#fff;border-radius:16px;margin:24px 0;padding:30px 22px}.hero h1{color:var(--gold);margin-bottom:6px;font-family:Moon Time,cursive;font-size:3rem;font-weight:400}.hero p{max-width:560px;margin:0 auto}.chips{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.chip{border:2px solid var(--navy);color:var(--navy);background:#fff;border-radius:30px;padding:8px 16px;font-size:.85rem;font-weight:600;text-decoration:none}.chip[aria-current=true]{background:var(--navy);color:var(--gold)}.day{margin-bottom:26px}.day h2{border-bottom:2px solid var(--line);padding-bottom:8px;font-size:1.05rem}.slot{border:1px solid var(--line);border-left:5px solid var(--navy);color:var(--ink);background:#fff;border-radius:12px;grid-template-columns:78px 1fr auto;align-items:center;gap:14px;margin-bottom:10px;padding:14px 16px;text-decoration:none;display:grid}.slot-time{color:var(--navy);font-weight:700}.slot-title{font-weight:700;display:block}.slot-meta{color:var(--muted);font-size:.85rem}.slot-action{text-align:right;font-size:.85rem;font-weight:700}.low{color:var(--red);font-weight:700}.full{color:var(--muted);font-weight:700}@media (max-width:560px){.slot{grid-template-columns:1fr auto}.slot-time{grid-column:1/-1}}.card{border:2px solid var(--navy);background:#fff;border-radius:16px;margin-bottom:22px;padding:24px 22px}.card.soft{border:1px solid var(--line)}.facts{gap:6px;margin:14px 0 18px;padding:0;list-style:none;display:grid}.facts strong{color:var(--navy)}.price{color:var(--navy);font-size:1.8rem;font-weight:800}label{margin-bottom:14px;font-size:.92rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=search],select,textarea{width:100%;font:inherit;background:#fff;border:1px solid #c9d3d1;border-radius:10px;margin-top:6px;padding:12px 14px;display:block}.check{align-items:flex-start;gap:10px;font-weight:500;display:flex}.check input{margin-top:5px}.btn{background:var(--teal);color:var(--navy);font:inherit;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border:0;border-radius:30px;padding:13px 26px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--teal-dark)}.btn.navy{background:var(--navy);color:var(--gold)}.btn.danger{border:2px solid var(--red);color:var(--red);background:#fff}.btn.small{padding:8px 14px;font-size:.8rem}.btn[disabled]{opacity:.6;cursor:wait}.alert{border-radius:12px;margin-bottom:18px;padding:14px 16px;font-weight:600}.alert.error{color:var(--red);background:#fdecee}.alert.ok{color:var(--green);background:#e3f9eb}.alert.info{color:var(--navy);background:#eef0fb}.muted{color:var(--muted);font-size:.9rem}.dates{padding-left:18px}.admin-nav{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.table th{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:.75rem}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@media (max-width:560px){.grid-2{grid-template-columns:1fr}.table .hide-sm{display:none}}details.panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:14px}details.panel summary{color:var(--navy);cursor:pointer;padding:14px 16px;font-weight:700}details.panel>div{padding:0 16px 16px}.header-links{flex-wrap:wrap;justify-content:flex-end;gap:6px 16px;display:flex}fieldset{border:1px solid var(--line);border-radius:12px;margin:0 0 16px;padding:12px 14px 4px}legend{color:var(--navy);padding:0 6px;font-weight:700}input[type=search]{width:100%;font:inherit;background:#fff;border:1px solid #c9d3d1;border-radius:10px;margin-top:6px;padding:12px 14px;display:block}.with-tabs{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.tabbar{z-index:20;background:var(--navy);padding:6px 4px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0005622e}.tabbar a{color:#c9cbe8;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:.72rem;font-weight:700;text-decoration:none;display:flex}.tabbar a svg{width:24px;height:24px}.tabbar a[aria-current=page]{color:var(--gold);background:#ffffff14}.page-head{justify-content:space-between;align-items:center;gap:12px;margin:22px 0 14px;display:flex}.page-head h1{margin:0;font-size:1.6rem}.datebar{justify-content:space-between;align-items:center;gap:8px;margin:18px 0 12px;display:flex}.datebar a,.datebar span.disabled{border:1px solid var(--line);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;font-weight:700;text-decoration:none;display:inline-flex}.datebar span.disabled{opacity:.35}.datebar strong{color:var(--navy);font-size:1.15rem}.totals{gap:12px;display:grid}.ring-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.big-number{color:var(--navy);font-size:2.2rem;font-weight:800;line-height:1}.bar{background:#e8eeec;border-radius:6px;height:10px;overflow:hidden}.bar>span{background:var(--teal-dark);border-radius:6px;height:100%;display:block}.bar.over>span{background:#e0a100}.bar.kcal{height:14px}.bar.kcal>span{background:var(--navy)}.macros{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.macro small{color:var(--muted);font-size:.75rem;font-weight:600;display:block}.macro strong{color:var(--navy)}.meal{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:14px;overflow:hidden}.meal-head{background:#f0f6f5;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.meal-head h2{margin:0;font-size:1.05rem}.meal-head span{color:var(--navy);font-weight:700}.entry{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 16px;display:flex}.entry:first-of-type{border-top:0}.entry-main{flex:1;min-width:0}.entry-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.entry-meta{color:var(--muted);font-size:.8rem}.entry-kcal{color:var(--navy);white-space:nowrap;font-weight:700}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.icon-btn:hover{color:var(--red);background:#f0f2f2}.meal-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:10px 16px 14px;display:flex}.seg{scrollbar-width:none;background:#e9f0ef;border-radius:14px;gap:6px;margin:0 0 16px;padding:4px;display:flex;overflow-x:auto}.seg button,.seg a{font:inherit;color:var(--navy);text-align:center;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:1 0 auto;padding:9px 14px;font-size:.88rem;font-weight:700;text-decoration:none}.seg [aria-selected=true],.seg [aria-current=page]{background:#fff;box-shadow:0 1px 4px #00000014}.results{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.results li+li{border-top:1px solid var(--line)}.results button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.results button:hover{background:#f4faf9}.results .r-main{flex:1;min-width:0}.results .r-name{font-weight:600;display:block}.results .r-meta{color:var(--muted);font-size:.8rem}.results .r-kcal{color:var(--navy);white-space:nowrap;font-size:.9rem;font-weight:700}.tag{color:#0b7a6e;vertical-align:1px;background:#e6f6f3;border-radius:6px;padding:1px 7px;font-size:.7rem;font-weight:700;display:inline-block}.sheet-backdrop{z-index:40;background:#00056259;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:560px;max-height:92vh;padding:20px 18px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0;overflow-y:auto;box-shadow:0 -8px 30px #0003}.sheet h2{margin-bottom:4px}.chips{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.chip{border:2px solid var(--navy);color:var(--navy);font:inherit;cursor:pointer;background:#fff;border-radius:30px;padding:8px 14px;font-size:.85rem;font-weight:700}.chip[aria-pressed=true]{background:var(--navy);color:var(--gold)}.nutri{text-align:center;background:#f4f8f7;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 16px;padding:12px;display:grid}.nutri strong{color:var(--navy);font-size:1.15rem;display:block}.nutri small{color:var(--muted);font-size:.72rem;font-weight:600}.scanner{aspect-ratio:4/3;background:#000;border-radius:16px;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scanner:after{content:"";border:3px solid var(--gold);border-radius:12px;position:absolute;inset:38% 12%;box-shadow:0 0 0 999px #00000059}.stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px}.stat small{color:var(--muted);font-size:.78rem;font-weight:600;display:block}.stat strong{color:var(--navy);font-size:1.3rem;display:block}.stat .down{color:var(--green);font-size:.85rem;font-weight:700}.stat .up{color:var(--bronze);font-size:.85rem;font-weight:700}.chart{width:100%;height:auto;display:block}.chart-card{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:14px;padding:14px 14px 8px}.chart-card h3{margin:0 0 4px;font-size:1rem}.session-link{border:1px solid var(--line);color:inherit;background:#fff;border-radius:14px;margin-bottom:10px;padding:14px 16px;text-decoration:none;display:block}.session-link strong{color:var(--navy)}.block{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:12px;padding:14px 16px}.block h3{margin:0 0 6px;font-size:1.05rem}.pb{color:#6b5300;background:#fff6cc;border-radius:20px;margin-top:6px;padding:3px 10px;font-size:.82rem;font-weight:700;display:inline-block}.sets{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sets li{background:#f0f6f5;border-radius:8px;padding:5px 10px;font-size:.88rem;font-weight:600}.logger{z-index:10;border:2px solid var(--navy);background:#fff;border-radius:18px;margin:16px 0;padding:14px;position:sticky;bottom:0;box-shadow:0 -6px 20px #0005621f}.stepper{grid-template-columns:52px 1fr 52px;align-items:center;gap:8px;display:grid}.stepper button{height:52px;font:inherit;color:var(--navy);cursor:pointer;background:#e9f0ef;border:0;border-radius:14px;font-size:1.3rem;font-weight:800}.stepper input{text-align:center;margin:0;padding:8px;font-size:1.5rem;font-weight:800}.stepper-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:8px 0 4px;font-size:.78rem;font-weight:700;display:block}.logger>.btn{text-align:center;width:100%;margin-top:12px;display:block}.set-pill{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.last-time{color:#0b7a6e;margin:2px 0 6px;font-size:.85rem;font-weight:600}.live-dot{background:var(--red);border-radius:50%;width:10px;height:10px;margin-right:6px;animation:1.4s infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.3}}.btn.block-btn{justify-content:center;width:100%;display:flex}.empty{text-align:center;color:var(--muted);background:#fff;border:1px dashed #c9d3d1;border-radius:16px;padding:26px 16px}.credit{color:var(--muted);text-align:center;margin-top:16px;font-size:.75rem}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.linklike{font:inherit;color:var(--navy);text-underline-offset:3px;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}
