:root{--bg:#f6f5f8;--surface:#ffffff;--surface-2:#f0eef4;--border:#e2dfe8;--text:#1b1a1f;--muted:#6b6875;--accent:#7c5cff;--ready:#16a34a;--ready-bg:#dcfce7;--wait:#b45309;--wait-bg:#fef3c7;--danger:#dc2626;--shadow:0 1px 2px rgba(20,16,40,0.06),0 4px 16px rgba(20,16,40,0.05);--radius:16px;--safe-bottom:env(safe-area-inset-bottom,0px);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#121116;--surface:#1c1b22;--surface-2:#26242e;--border:#322f3c;--text:#f2f0f5;--muted:#9b96a8;--accent:#a78bfa;--ready:#4ade80;--ready-bg:#16351f;--wait:#fbbf24;--wait-bg:#382a10;--danger:#f87171;--shadow:0 1px 2px rgba(0,0,0,0.4)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:ui-rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.4;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}button{border:none;background:none;cursor:pointer}button,input,select{font:inherit;color:inherit}.app{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 10px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em}.sync-pill{font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.sync-pill[data-state=synced]{color:var(--ready)}.sync-pill[data-state=error]{color:var(--danger)}main{flex:1 1;padding:4px 16px calc(96px + var(--safe-bottom))}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2px;gap:2px;max-width:560px;margin:0 auto;padding:6px 8px calc(6px + var(--safe-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border)}.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0 5px;border-radius:12px;font-size:11px;font-weight:600;color:var(--muted)}.tabbar button[aria-selected=true]{color:var(--accent);background:var(--surface-2)}.tabbar .glyph{font-size:19px;line-height:1}.section-title{margin:16px 2px 9px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:14px}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-top:12px;border-radius:14px;background:var(--wait-bg);color:var(--wait);font-size:13px;line-height:1.35}.med-list{display:flex;flex-direction:column;gap:8px}.med{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:11px 13px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--dot,var(--accent));border-radius:var(--radius);box-shadow:var(--shadow)}.med-name{font-size:15.5px;font-weight:650;letter-spacing:-.01em}.med-label{font-size:11.5px;font-weight:500;color:var(--muted)}.med-status{margin-top:6px;row-gap:4px;display:flex;flex-wrap:wrap;gap:6px;font-size:13px}.chip,.med-status{align-items:center}.chip{display:inline-flex;gap:4px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:650;background:var(--surface-2);color:var(--muted)}.chip[data-state=never],.chip[data-state=ready]{background:var(--ready-bg);color:var(--ready)}.chip[data-state=waiting]{background:var(--wait-bg);color:var(--wait)}.chip.max{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.med-sub{font-size:11.5px;color:var(--muted)}.take{min-width:74px;min-height:54px;padding:8px 14px;border-radius:14px;font-size:14px;font-weight:700;background:var(--ready);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:transform .08s ease,opacity .15s ease}.take:active{transform:scale(.95)}.take[data-state=waiting]{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.take small{font-size:10px;font-weight:600;opacity:.85}.actions{display:grid;grid-gap:10px;gap:10px}.actions.cols-2{grid-template-columns:repeat(2,1fr)}.actions.cols-3{grid-template-columns:repeat(3,1fr)}.action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:86px;padding:12px 8px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);font-size:13px;font-weight:650;transition:transform .08s ease}.action:active{transform:scale(.96)}.action .glyph{font-size:26px;line-height:1}.action[data-active=true]{background:var(--accent);border-color:var(--accent);color:#fff}.stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.stat{padding:12px 13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stat .k{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.stat .v{margin-top:3px;font-size:21px;font-weight:700;letter-spacing:-.02em}.stat .s{font-size:12px;color:var(--muted)}.day-head{display:flex;justify-content:space-between;align-items:baseline;margin:20px 2px 8px}.day-head .d{font-size:14px;font-weight:700}.day-head .n{font-size:12px;color:var(--muted)}.rows{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.row{display:grid;grid-template-columns:74px 1fr auto;align-items:center;grid-gap:10px;gap:10px;width:100%;padding:11px 13px;text-align:left;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.row:active{background:var(--surface-2)}.row .t{font-size:13px;font-weight:650;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row .main{font-size:14px;font-weight:600}.row .meta{font-size:12px;color:var(--muted)}.row .dot{width:9px;height:9px;border-radius:999px;background:var(--dot,var(--accent))}.scrim{position:fixed;inset:0;z-index:40;background:rgba(10,8,20,.45);display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:560px;background:var(--surface);border-radius:22px 22px 0 0;padding:18px 18px calc(20px + var(--safe-bottom));animation:rise .2s cubic-bezier(.22,1,.36,1);max-height:88dvh;overflow-y:auto}@keyframes rise{0%{transform:translateY(18px);opacity:.4}}.sheet h2{margin:0 0 4px;font-size:18px;font-weight:700}.sheet p.sub{margin:0 0 16px;font-size:13px;color:var(--muted)}.field{display:block;margin-bottom:14px}.field span{display:block;font-size:12px;font-weight:650;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);font-size:16px}.sheet-actions{display:flex;gap:10px;margin-top:6px}.btn{flex:1 1;min-height:48px;border-radius:14px;font-size:15px;font-weight:700;background:var(--surface-2);border:1px solid var(--border)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.stepper{gap:12px}.stepper,.stepper button{display:flex;align-items:center}.stepper button{width:52px;height:52px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);font-size:24px;font-weight:700;justify-content:center}.stepper .val{flex:1 1;text-align:center;font-size:26px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(80px + var(--safe-bottom));z-index:50;display:flex;align-items:center;gap:14px;padding:11px 14px;border-radius:14px;background:#201d2b;color:#fff;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.32);animation:rise .18s ease;max-width:calc(100% - 32px)}@media (prefers-color-scheme:dark){.toast{background:#3a3648}}.toast button{font-weight:700;color:#c4b5fd}.med-edit{display:grid;grid-template-columns:1fr 84px 44px;grid-gap:8px;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.med-edit:last-child{border-bottom:none}.med-edit input[type=number],.med-edit input[type=text]{width:100%;padding:9px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);font-size:15px}.med-edit .unit{font-size:11px;color:var(--muted);margin-top:3px;display:block}.toggle{width:44px;height:28px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);position:relative;transition:background .15s ease}.toggle[data-on=true]{background:var(--accent);border-color:var(--accent)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:999px;background:#fff;transition:transform .15s ease}.toggle[data-on=true]:after{transform:translateX(16px)}