:root{--bg: #f6faf9;--card: #ffffff;--text: #13201e;--muted: #5b6b68;--line: #dde7e5;--primary: #0f766e;--primary-ink: #ffffff;--primary-soft: #e3f3f1;--ok: #15803d;--ok-soft: #e7f6ec;--warn: #b45309;--warn-soft: #fdf3e2;--danger: #b91c1c;--danger-soft: #fdecec;--s1: #0f766e;--s2: #c2410c;--radius: 14px;--tabbar-h: 64px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;color:var(--text);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #0d1514;--card: #15201f;--text: #e6efed;--muted: #93a5a1;--line: #26332f;--primary: #2dd4bf;--primary-ink: #04201c;--primary-soft: #133430;--ok: #4ade80;--ok-soft: #13301f;--warn: #fbbf24;--warn-soft: #33280f;--danger: #f87171;--danger-soft: #3a1717;--s1: #2dd4bf;--s2: #fb923c;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button{font:inherit;color:inherit}input,textarea,select{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}input:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:0;border-color:transparent}h1,h2{margin:0;line-height:1.2}h2{font-size:1.05rem}small{display:block;color:var(--muted);font-size:.85rem}.app{min-height:100vh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.app.admin{padding-bottom:24px}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:var(--bg);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;background:none;border:0;font-weight:700;font-size:1.2rem;cursor:pointer;padding:0}.brand img{border-radius:7px}.icon-btn{background:none;border:0;font-size:1.3rem;padding:6px 8px;border-radius:10px;cursor:pointer}.icon-btn.active{background:var(--primary-soft)}.app-main{max-width:640px;margin:0 auto}.view{padding:16px;display:flex;flex-direction:column;gap:14px;max-width:640px;margin:0 auto}.view-title{font-size:1.35rem}.view-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.card p{margin:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-click{all:unset;display:flex;flex-direction:column;gap:6px;cursor:pointer;width:100%}.cards{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.cards.past{opacity:.7}.med.inactive{opacity:.6}.welcome ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.form label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted);flex:1}.form label.check{flex-direction:row;align-items:center;gap:8px;color:var(--text);font-size:1rem}.form label.check input{width:auto}fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}legend{font-size:.9rem;color:var(--muted);padding:0;margin-bottom:4px}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.push-right{margin-left:auto}.btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 14px;font-weight:600;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent}.btn-small{padding:6px 10px;font-size:.9rem}.btn-block{width:100%}.link{background:none;border:0;padding:0;color:var(--primary);font-weight:600;cursor:pointer;text-align:left}.pill{font-size:.8rem;padding:2px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:700}.pill-ok{background:var(--ok-soft);color:var(--ok)}.banner{margin:10px 16px 0;padding:10px 12px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.view .banner{margin:0}.banner-info{background:var(--primary-soft)}.banner-error{background:var(--danger-soft);color:var(--danger)}.error{color:var(--danger);margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.empty{color:var(--muted);text-align:center;padding:24px 0;margin:0}.hint{color:var(--warn);font-weight:600}.hint-box{background:var(--warn-soft);padding:8px 10px;border-radius:10px}.dose-list,.plain-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.plain-list li{padding:8px 0;border-top:1px solid var(--line)}.plain-list li:first-child{border-top:0;padding-top:0}.dose{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.dose:first-child{border-top:0}.dose-time{font-variant-numeric:tabular-nums;font-weight:700;min-width:48px}.dose-name{flex:1;min-width:0}.dose-actions{display:flex;gap:4px}.dose.taken .dose-name strong{color:var(--ok)}.dose.skipped{opacity:.6}.dose.late .dose-time{color:var(--warn)}.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;white-space:nowrap;cursor:pointer}.chip.active{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:0;background:none;padding:4px 8px;font-size:.85rem;cursor:pointer}.seg button.active{background:var(--primary-soft);color:var(--primary);font-weight:700}.chart{margin:0}.chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--line);stroke-width:1}.chart-label{fill:var(--muted);font-size:9px}.chart .s1 polyline{stroke:var(--s1)}.chart .s1 circle{fill:var(--s1)}.chart .s2 polyline{stroke:var(--s2)}.chart .s2 circle{fill:var(--s2)}.chart-legend{display:flex;gap:12px;font-size:.85rem}.chart-legend .s1{color:var(--s1)}.chart-legend .s2{color:var(--s2)}.chart-empty{margin:0}.severity{display:flex;align-items:center;gap:6px}.sev{width:38px;height:38px;border-radius:50%;border:2px solid transparent;font-weight:700;cursor:pointer}.sev.active{border-color:var(--text)}.sev-1{background:#d1fae5;color:#065f46}.sev-2{background:#ecfccb;color:#3f6212}.sev-3{background:#fef9c3;color:#854d0e}.sev-4{background:#fed7aa;color:#9a3412}.sev-5{background:#fecaca;color:#991b1b}.sev-dot{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.entry-text{display:block;white-space:pre-wrap;margin-top:2px}.day-title{font-size:.95rem;color:var(--muted)}.search{margin:0}.privacy summary{cursor:pointer;color:var(--primary);font-weight:600}.privacy p{margin-top:6px;font-size:.9rem}.kv{border-collapse:collapse;width:100%;font-size:.92rem}.kv th{text-align:left;color:var(--muted);font-weight:500;padding:4px 8px 4px 0;vertical-align:top;width:45%}.kv td{padding:4px 0}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-around;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line)}.tabbar button{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:var(--muted)}.tabbar button.active{color:var(--primary);font-weight:700}.tab-icon{font-size:1.3rem}.tab-label{font-size:.72rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{background:var(--card);border-radius:var(--radius);padding:20px;max-width:440px;display:flex;flex-direction:column;gap:10px}.modal p{margin:0}.app.gate{padding-bottom:24px}.gate-brand{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 0 8px;text-align:center}.gate-brand img{border-radius:14px}.gate-brand h1{font-size:1.8rem}.gate-brand p{margin:0}.code-input{font-size:1.6rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.req{display:flex;flex-direction:column;gap:8px}.code-box{background:var(--primary-soft);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}.code-box p{margin:0}.code-box .btn{text-align:center;text-decoration:none}.code{font-size:1.4rem;letter-spacing:.2em;font-variant-numeric:tabular-nums}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}
