:root{--teal: #0f766e;--teal-dark: #115e59;--bg: #f8fafc;--card: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--green: #16a34a;--yellow: #ca8a04;--orange: #ea580c;--red: #dc2626;--green-tint: #dcfce7;--yellow-tint: #fef9c3;--orange-tint: #ffedd5;--red-tint: #fee2e2}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Tahoma,sans-serif;background:var(--bg);color:var(--text);font-size:16px}#root{min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:640px;margin-inline:auto;padding:16px;padding-block-end:calc(96px + env(safe-area-inset-bottom,0px))}.app-main.wide{max-width:960px}h1{font-size:1.4rem}h2{font-size:1.15rem}h3{font-size:1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-block-end:12px}.muted{color:var(--muted);font-size:.9rem}.disclaimer{color:var(--muted);font-size:.78rem;border-block-start:1px dashed var(--border);padding-block-start:6px;margin-block-start:10px}button,.btn{background:var(--teal);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-size:.95rem;cursor:pointer}button:disabled{opacity:.5}button.secondary{background:#fff;color:var(--teal);border:1px solid var(--teal)}button.danger{background:var(--red)}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}button.small{padding:6px 10px;font-size:.85rem}input,select{width:100%;max-width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;font-size:1rem;background:#fff;color:var(--text)}input[type=date],input[type=time]{direction:ltr;text-align:start}label{display:block;margin-block:10px 4px;font-weight:600;font-size:.9rem}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1}.bottom-nav{position:fixed;inset-block-end:0;inset-inline:0;display:flex;background:#fff;border-block-start:1px solid var(--border);padding-block:6px calc(6px + env(safe-area-inset-bottom));z-index:10}.bottom-nav a{flex:1;text-align:center;color:var(--muted);text-decoration:none;font-size:.72rem;line-height:1.3}.bottom-nav a .icon{display:flex;align-items:center;justify-content:center;height:28px;font-size:1.25rem}.bottom-nav a.active{color:var(--teal);font-weight:700}.top-tabs{position:sticky;inset-block-start:0;z-index:15;display:flex;gap:4px;background:#fff;border-block-end:1px solid var(--border);padding:6px 8px;overflow-x:auto;justify-content:center}.top-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--muted);font-size:.9rem;white-space:nowrap}.top-tab .icon{font-size:1.1rem}.top-tab.active{background:var(--teal);color:#fff;font-weight:700}@media (max-width: 560px){.top-tab-label{display:none}.top-tab{padding:8px 12px}}.badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;background:#f1f5f9}.badge-green{color:var(--green)}.badge-yellow{color:var(--yellow)}.badge-orange{color:var(--orange)}.badge-red{color:var(--red)}.badge-plain{color:var(--muted)}html.colorblind-mode .badge-green{background:var(--green-tint);border:1.5px solid var(--green)}html.colorblind-mode .badge-yellow{background:var(--yellow-tint);border:1.5px solid var(--yellow)}html.colorblind-mode .badge-orange{background:var(--orange-tint);border:1.5px solid var(--orange)}html.colorblind-mode .badge-red{background:var(--red-tint);border:1.5px solid var(--red)}html.colorblind-mode .finding-green{background:var(--green-tint);border-inline-start-width:6px}html.colorblind-mode .finding-yellow{background:var(--yellow-tint);border-inline-start-width:6px}html.colorblind-mode .finding-orange{background:var(--orange-tint);border-inline-start-width:6px}html.colorblind-mode .finding-red{background:var(--red-tint);border-inline-start-width:6px}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-block-end:16px}.cat-tile{position:relative;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:600;transition:transform .08s ease,box-shadow .15s ease}.cat-tile:active{transform:scale(.96)}.cat-tile.active{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal) inset}.cat-tile-empty{opacity:.5}.cat-tile-empty .cat-tile-count{background:var(--muted)}.cat-tile-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--catbg, #f1f5f9)}.cat-tile-all,.med-thumb-other{--catbg: #eef2ff}.cat-tile-heart,.med-thumb-heart{--catbg: #ffe4e6}.cat-tile-cholesterol,.med-thumb-cholesterol{--catbg: #fef3c7}.cat-tile-diabetes,.med-thumb-diabetes{--catbg: #ffedd5}.cat-tile-pain,.med-thumb-pain{--catbg: #fee2e2}.cat-tile-brain,.med-thumb-brain{--catbg: #ede9fe}.cat-tile-infection,.med-thumb-infection{--catbg: #dcfce7}.cat-tile-respiratory,.med-thumb-respiratory{--catbg: #cffafe}.cat-tile-digestion,.med-thumb-digestion{--catbg: #fef9c3}.cat-tile-hormones,.med-thumb-hormones{--catbg: #fce7f3}.cat-tile-blood,.med-thumb-blood{--catbg: #fee2e2}.cat-tile-urinary,.med-thumb-urinary{--catbg: #e0f2fe}.cat-tile-skin,.med-thumb-skin{--catbg: #ffe4e6}.cat-tile-eyes,.med-thumb-eyes{--catbg: #e0e7ff}.cat-tile-immune,.med-thumb-immune{--catbg: #dbeafe}.cat-tile-antiparasitic,.med-thumb-antiparasitic{--catbg: #d1fae5}.cat-tile-supplements,.med-thumb-supplements{--catbg: #dcfce7}.cat-tile-other{--catbg: #eef2ff}.cat-badge{background:#e6f2f1;color:var(--teal-dark)}.cat-tile-label{font-size:.72rem;line-height:1.15;text-align:center;color:var(--text)}.cat-tile-count{position:absolute;inset-block-start:6px;inset-inline-end:8px;background:var(--teal);color:#fff;border-radius:999px;font-size:.68rem;min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center}.med-card{padding:12px}.med-row{display:flex;gap:12px;align-items:flex-start}.med-thumb{flex:0 0 auto;width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px;overflow:hidden;background:var(--catbg, #eef2f1)}.med-thumb img{width:100%;height:100%;object-fit:cover}.med-name{font-size:1.05rem;display:block}.med-ing{font-size:.82rem;margin-block-start:1px}.med-badges{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:6px}.med-times{margin-block-start:6px;font-size:.85rem}.med-actions{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.med-photo-pick{flex:0 0 auto;width:60px;height:60px;border-radius:12px;border:2px dashed var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;overflow:hidden}.med-photo-pick img{width:100%;height:100%;object-fit:cover}.profile-hero{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;margin-block-end:14px}.profile-hero-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;background:#e6f2f1;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.profile-hero-avatar img{width:100%;height:100%;object-fit:cover}.dep-avatar{flex:0 0 auto;width:36px;height:36px;border-radius:50%;overflow:hidden;background:#e6f2f1;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.dep-avatar img{width:100%;height:100%;object-fit:cover}.menu-list{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.menu-row{display:flex;align-items:center;gap:14px;width:100%;background:transparent;color:var(--text);border:none;border-radius:0;border-block-end:1px solid var(--border);padding:15px 16px;font-size:1rem;font-weight:500;text-align:start}.menu-row:last-child{border-block-end:none}.menu-row:active{background:#f1f5f9}.menu-ic{font-size:20px;width:26px;text-align:center;flex-shrink:0}.menu-chev{color:var(--muted);font-size:1.3rem;line-height:1}.danger-text{color:var(--red)}.back-bar{background:transparent;color:var(--teal);border:none;padding:4px 0;margin-block-end:8px;font-size:1rem;font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;margin-block-end:12px}.stat{text-align:center;padding:12px 6px;margin:0}.stat strong{font-size:1.5rem;display:block;line-height:1.1}.stat .muted{font-size:.72rem}.bar-track{height:8px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-block-start:2px}.bar-fill{height:100%;background:var(--teal);border-radius:999px}.finding{border-inline-start:4px solid var(--border);padding:8px 12px;margin-block:10px;background:#f8fafc;border-radius:8px}.finding-green{border-inline-start-color:var(--green)}.finding-yellow{border-inline-start-color:var(--yellow)}.finding-orange{border-inline-start-color:var(--orange)}.finding-red{border-inline-start-color:var(--red)}.finding p{margin:4px 0;font-size:.9rem}.finding .advice{font-weight:600}.finding .source{color:var(--muted);font-size:.78rem}.chat-log{display:flex;flex-direction:column;gap:8px;padding-block-end:12px}.bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:.95rem;white-space:pre-wrap}.bubble.patient{align-self:flex-end;background:var(--teal);color:#fff;border-end-end-radius:4px}.bubble.assistant{align-self:flex-start;background:#fff;border:1px solid var(--border);border-end-start-radius:4px}.bubble.redflag{background:#fef2f2;border:2px solid var(--red);color:#7f1d1d;font-weight:600}.bubble .source{display:block;color:var(--muted);font-size:.72rem;margin-block-start:6px}.chat-input{position:fixed;inset-block-end:calc(64px + env(safe-area-inset-bottom,0px));inset-inline:0;display:flex;align-items:flex-end;gap:8px;padding:8px 12px;background:var(--bg);max-width:640px;margin-inline:auto;z-index:12}.chat-textarea{resize:none;max-block-size:132px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:10px;font-size:1rem;font-family:inherit;background:#fff;color:var(--text)}.acting-banner{position:sticky;inset-block-start:0;z-index:20;background:#fef3c7;border-block-end:1px solid #fcd34d;padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:.9rem}.slot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.slot .time{font-weight:800;min-inline-size:64px}.slot-done{opacity:.55}.dose-actions{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0;position:relative;z-index:1}.dose-actions button{min-height:40px;min-width:72px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:start;padding:8px 6px;border-block-end:1px solid var(--border)}tr.risk-high td:first-child{border-inline-start:4px solid var(--red)}.tip-card{background:#ecfeff;border-color:#a5f3fc}.pending-banner{background:#fef9c3;border:1px solid #fde047;border-radius:8px;padding:8px 12px;font-size:.88rem;margin-block:8px}.auth-page{max-width:420px;margin-inline:auto;padding:24px 16px}.brand{color:var(--teal);font-size:2rem;margin-block-end:0}.error{color:var(--red);font-size:.9rem}.ok{color:var(--green);font-size:.9rem}.code-box{font-size:1.6rem;font-weight:800;letter-spacing:.15em;text-align:center;background:#f0fdfa;border:2px dashed var(--teal);border-radius:10px;padding:12px}.chat-log-pad{padding-block-end:calc(150px + env(safe-area-inset-bottom,0px))}
