
:root{ --bg:#eaf1ff; --panel:#fff; --panel-2:#f6f9ff; --text:#0f172a; --muted:#475569;
       --accent:#2563eb; --accent2:#10b981; --pill:#eef2ff; --pill-border:rgba(2,6,23,.08);
       --glass:rgba(255,255,255,.55); --active:#e5e7eb; }
:root.accent-mint{ --accent:#10b981 } :root.accent-solar{ --accent:#f59e0b } :root.accent-mono{ --accent:#111827 }
@media (prefers-color-scheme: dark){
  :root{ --bg:#0f172a; --panel:#151f33; --panel-2:#1a2740; --text:#eaf2ff; --muted:#c5d3ef; --pill:#20314f; --pill-border:rgba(255,255,255,.18); --glass:rgba(21,31,51,.55); --active:#243851 }
  :root.accent-mono{ --accent:#e5e7eb }
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);
     background:radial-gradient(600px 360px at 10% -10%, rgba(37,99,235,.10), transparent),
                radial-gradient(560px 360px at 120% 110%, rgba(16,185,129,.08), transparent),
                var(--bg); overflow-x:hidden;}
.app{max-width:430px;margin:0 auto;padding:12px} body.desktop .app{max-width:900px}
.topbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.brand{display:flex;align-items:center;gap:10px}
.logo{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#22d3ee);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;box-shadow:0 5px 14px rgba(37,99,235,.25)}
.sub{font-size:.72rem;opacity:.7;letter-spacing:.6px;text-transform:uppercase}
.toolbar{display:flex;gap:6px}
.btn{border:1px solid var(--pill-border);background:var(--panel-2);color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.06);font-size:.9rem}
.btn.primary{background:linear-gradient(90deg,var(--accent),#22d3ee);color:#071426;font-weight:800}
.btn.good{background:linear-gradient(90deg,var(--accent2),#34d399);color:#062014}
.btn.warn{background:#fff3e0;color:#7a4c0b;border:1px solid rgba(186,129,30,.25)}
.btn.bad{background:#ffe5e5;color:#7a0f12;border:1px solid rgba(200,30,30,.25)}
.small{padding:6px 8px;font-size:.85rem;border-radius:9px}
.weeklyWrap{position:sticky;top:calc(env(safe-area-inset-top,0px));z-index:6}
.weeklyBox{display:grid;grid-template-columns:1fr;gap:8px;padding-top:6px;padding-bottom:6px}
.weeklyBox.glass .big{background:var(--glass);backdrop-filter:blur(8px) saturate(120%)}
.weeklyBox .big{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--pill-border);border-radius:12px;padding:10px;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.label{color:var(--muted);font-size:.9rem}
.value{font-size:1.15rem;font-weight:900}
.daysGrid{display:grid;grid-template-columns:1fr;gap:10px} body.desktop .daysGrid{grid-template-columns:1fr 1fr}
.dayCard{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:12px;border-radius:14px;background:var(--panel);border:1px solid var(--pill-border);box-shadow:0 8px 18px rgba(0,0,0,.05)}
.dayCard.active{background:var(--active)}
.dayTitle{font-weight:800}
.pill{padding:8px 10px;border-radius:10px;background:var(--pill);border:1px solid var(--pill-border);min-width:82px;text-align:center}
.row{display:flex;gap:8px;flex-wrap:wrap}
.actions{grid-column:1/-1;display:flex;gap:6px;justify-content:flex-end}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:16px;z-index:60}
.panel{width:min(500px,92vw);background:var(--panel);border:1px solid var(--pill-border);border-radius:14px;padding:14px}
.numgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
input[type=number],input[type=time],select{width:100%;padding:10px;border-radius:10px;border:1px solid var(--pill-border);background:var(--panel-2);color:var(--text);text-align:center;font-size:1.05rem}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;background:linear-gradient(90deg,var(--accent),#22d3ee);color:#071426;padding:10px 14px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:9999;font-weight:800;display:none}
.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:end;justify-content:center;z-index:70}
.sheet{width:min(520px,96vw);background:var(--panel);border:1px solid var(--pill-border);border-radius:16px 16px 0 0;padding:10px}
.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
