:root{--bg:var(--tg-theme-bg-color,#fff);--surface:var(--tg-theme-secondary-bg-color,#f1f2f5);--text:var(--tg-theme-text-color,#15161a);--hint:var(--tg-theme-hint-color,#868a93);--accent:var(--tg-theme-button-color,#2f7cf6);--accent-text:var(--tg-theme-button-text-color,#fff);--link:var(--tg-theme-link-color,var(--accent));--danger:var(--tg-theme-destructive-text-color,#e5484d);--ok:#2fa45a;--line:color-mix(in srgb, var(--hint) 22%, transparent);--row-h:clamp(52px, 8.4dvh, 68px);--radius:14px;--gap:8px;--pad:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:var(--tg-theme-bg-color,#17181c);--surface:var(--tg-theme-secondary-bg-color,#24262c);--text:var(--tg-theme-text-color,#f2f3f5);--hint:var(--tg-theme-hint-color,#8d919b);--accent:var(--tg-theme-button-color,#4c8ff8)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;font:16px/1.35 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0}button:disabled{opacity:.35;cursor:default}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--hint);margin:0;font-size:13px;font-weight:600}.hint{color:var(--hint);font-size:13px}#app{height:var(--tg-viewport-stable-height,100dvh)}.shell{flex-direction:column;height:100%;display:flex}.top{height:44px;padding:0 var(--pad);flex:none;justify-content:center;align-items:center;display:flex}.patient-pick{align-items:center;gap:2px;max-width:100%;font-size:17px;font-weight:600;display:inline-flex;position:relative}.patient-pick span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.patient-pick svg{fill:none;width:20px;height:20px;stroke:var(--hint);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.patient-pick select{opacity:0;font-size:16px;position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}.content{-webkit-overflow-scrolling:touch;min-height:0;padding:0 var(--pad);flex:1;overflow-y:auto}.tabs{border-top:1px solid var(--line);background:var(--bg);padding-bottom:max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom,0px));flex:none;display:flex}.tabs button{height:56px;color:var(--hint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;display:flex}.tabs button.on{color:var(--accent)}.tabs svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:24px;height:24px}.splash{height:100%}.message{text-align:center;height:100%;color:var(--hint);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:32px;display:flex}.message .primary{height:50px;padding:0 28px}.primary,.secondary,.danger{border-radius:var(--radius);height:52px;font-weight:600}.primary{background:var(--accent);color:var(--accent-text)}.secondary{background:var(--surface)}.danger{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.primary:active:not(:disabled),.secondary:active,.danger:active{transform:scale(.96)}.link{color:var(--link);text-transform:none;letter-spacing:0;margin-left:8px;margin-block-start:-10px;margin-block-end:-10px;padding:10px 0;font-size:13px;font-weight:500}.icon-btn{width:48px;height:44px;color:var(--accent);font-size:30px;line-height:1}.field h2{align-items:baseline;min-height:22px;margin-bottom:8px;display:flex}.daynav{justify-content:space-between;align-items:center;margin-top:-6px;font-size:17px;font-weight:600;display:flex}.kpis{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.kpis div{background:var(--surface);border-radius:var(--radius);flex-direction:column;padding:8px 12px;display:flex}.kpis b{font-variant-numeric:tabular-nums;font-size:24px;line-height:1.15}.kpis span{color:var(--hint);font-size:12px}.error{color:var(--danger);margin:0}.rows{background:var(--surface);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.rows li+li{border-top:1px solid var(--line)}.empty{text-align:center;color:var(--hint);margin-top:40px}.toast{left:var(--pad);right:var(--pad);bottom:calc(68px + max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom,0px)));z-index:20;border-radius:var(--radius);background:color-mix(in srgb, var(--text) 8%, var(--surface));min-height:48px;color:var(--text);box-shadow:0 6px 24px #0000002e, inset 0 0 0 1px var(--line);align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:15px;animation:.18s ease-out rise;display:flex;position:fixed}.toast span{flex:1}.toast button{height:36px;color:var(--accent);background:var(--bg);border-radius:10px;padding:0 14px;font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes fade{0%{opacity:0}}.settings{padding:8px 0 var(--pad);flex-direction:column;gap:22px;display:flex}.settings .hint{color:var(--hint);margin:8px 2px 0;font-size:13px}.segmented{border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{height:calc(var(--row-h) - 8px);color:var(--hint);border-radius:10px;font-weight:600}.segmented button.on{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #00000026}.wide{width:100%;height:var(--row-h)}.feedback-head{justify-content:center;align-items:center;height:32px;display:flex;position:relative}.feedback-head .link{margin-left:0;font-size:15px;position:absolute;left:0}.feedback-text{resize:vertical;border-radius:var(--radius);background:var(--surface);width:100%;min-height:160px;color:var(--text);font:inherit;box-shadow:inset 0 0 0 1px var(--line);border:0;outline:none;padding:12px 14px;font-size:16px;line-height:1.4}.feedback-text:focus{box-shadow:inset 0 0 0 2px var(--accent)}.check-row{min-height:var(--row-h);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;gap:14px;padding:0 16px;display:flex}.check-row input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:0}.today{padding-bottom:var(--pad);flex-direction:column;gap:16px;display:flex}.slot-head{justify-content:space-between;align-items:baseline;margin:0 4px 8px;display:flex}.doses{background:var(--surface);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.doses li+li{border-top:1px solid var(--line)}.dose{text-align:left;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 14px;display:grid}.dose:active{background:var(--line)}.tick{width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--line);color:var(--accent-text);border-radius:50%;place-items:center;font-weight:700;display:grid}.dose.taken .tick{background:var(--ok);box-shadow:none}.dose.missed .tick{box-shadow:inset 0 0 0 2px var(--danger)}.dose.due .tick{box-shadow:inset 0 0 0 2px var(--accent)}.dose-name{overflow-wrap:anywhere;flex-direction:column;min-width:0;font-weight:600;display:flex}.dose-name small{color:var(--hint);font-size:14px;font-weight:400}.dose-status{color:var(--hint);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.dose.missed .dose-status{color:var(--danger)}.dose.due .dose-status{color:var(--accent)}.empty .pad{margin-top:12px;padding:0 24px}.history{padding:4px 0 var(--pad);flex-direction:column;gap:12px;display:flex}.kpis{grid-template-columns:1fr 1fr}.grid-head,.grid-row{grid-template-columns:1.3fr repeat(3,1fr);align-items:center;gap:6px;display:grid}.grid-head{color:var(--hint);text-align:center;padding:0 12px;font-size:12px}.grid-row{text-align:left;width:100%;min-height:48px;padding:6px 12px}.grid-row:active{background:var(--line)}.grid-day{font-size:15px;font-weight:500}.cell{font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;height:30px;font-size:14px;font-weight:600;display:grid}.cell.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.cell.bad{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.cell.wait{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.cell.none{color:var(--hint)}.med-head{gap:var(--gap);color:var(--hint);grid-template-columns:1fr 1.45fr;padding:0 10px 4px;font-size:12px;display:grid}.meds{gap:var(--gap);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.med{border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;padding:10px;display:flex}.med.ended{opacity:.55}.med-top{align-items:center;gap:6px;display:flex}.med-name{background:var(--bg);border:0;border-radius:10px;outline:none;flex:1;min-width:0;height:40px;padding:0 10px;font-size:16px;font-weight:600}.med-name:focus{box-shadow:inset 0 0 0 2px var(--accent)}.until{height:40px;color:var(--hint);white-space:nowrap;border-radius:10px;flex:none;align-items:center;padding:0 10px;font-size:13px;display:flex;position:relative}.until.set{color:var(--accent);font-weight:600}.until input{opacity:0;width:100%;font-size:16px;position:absolute;top:0;bottom:0;left:0;right:0}.del{min-width:36px;height:40px;color:var(--hint);border-radius:10px;flex:none;font-size:22px}.del.sure{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);padding:0 10px;font-size:14px;font-weight:600}.med-bottom{gap:var(--gap);grid-template-columns:1fr 1.45fr;display:grid}.dose-seg,.slot-toggles{background:var(--bg);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.dose-seg button,.slot-toggles button{height:44px;color:var(--hint);border-radius:9px;font-weight:700}.dose-seg button{font-size:18px}.dose-seg button.on{background:var(--accent);color:var(--accent-text)}.slot-toggles button{filter:grayscale();opacity:.6;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:17px;line-height:1;display:flex}.slot-toggles small{font-size:10px;font-weight:600}.slot-toggles button.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);filter:none;opacity:1}.add-med{margin-top:var(--gap);color:var(--accent)}.field h2.sub{margin-top:16px}.times{border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.time-row{min-height:var(--row-h);justify-content:space-between;align-items:center;padding:0 8px 0 16px;display:flex}.time-row+.time-row{border-top:1px solid var(--line)}.time-row input{background:var(--bg);font-variant-numeric:tabular-nums;height:40px;color:var(--accent);border:0;border-radius:10px;padding:0 10px;font-size:18px;font-weight:600}.tz-row{min-height:var(--row-h);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;padding:0 16px;display:flex}
