:root{--bg: #e2e8f0;--surface: #f8fafc;--surface-strong: #ffffff;--primary: #0f766e;--primary-soft: #ccfbf1;--text: #0f172a;--muted: #475569;--danger: #b91c1c;--border: #cbd5e1}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,sans-serif;background:radial-gradient(circle at 0 0,#99f6e4 0,var(--bg) 40%);color:var(--text)}#root{min-height:100vh}.app-shell{max-width:880px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:#f8fafce6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-header{padding:12px 14px;background:linear-gradient(135deg,#0d9488,#0f766e);color:#f8fafc;font-weight:700;letter-spacing:.4px;display:flex;align-items:center;gap:10px}.menu-btn{border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:8px;padding:4px 10px}.edge-swipe-zone{position:fixed;left:0;top:0;bottom:0;width:18px;z-index:30}.content{flex:1;padding:16px 16px 82px}.page-title{margin:0 0 12px}.med-list{display:grid;gap:10px}.card{background:var(--surface-strong);border:1px solid var(--border);border-radius:12px;padding:12px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-title{margin:0;font-size:1rem}.card-sub{margin:8px 0;color:var(--muted)}.row{display:flex;gap:8px;flex-wrap:wrap}button,select{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:600}.btn-primary{background:var(--primary);color:#f8fafc}.btn-soft{background:#e2e8f0;color:#0f172a}.btn-danger{background:#fee2e2;color:var(--danger)}.fab{position:fixed;right:16px;bottom:90px;border-radius:999px;width:54px;height:54px;font-size:1.6rem;padding:0;box-shadow:0 8px 24px #0284c74d}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#0f172a;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #334155}.nav-btn{border-radius:0;background:transparent;color:#cbd5e1;padding:12px 8px}.nav-btn.active{background:#1e293b;color:#99f6e4}.side-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a85;z-index:40}.side-menu{width:min(340px,88vw);background:#fff;height:100%;border-right:1px solid var(--border)}.side-header{background:var(--primary);color:#fff;padding:18px 14px;font-weight:700}.side-list{display:grid}.side-item{background:transparent;border-radius:0;text-align:left;padding:12px 14px;border-bottom:1px solid #e2e8f0;display:flex;gap:10px;align-items:center}.side-item.active{background:#f0fdfa}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a85;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--surface);border-radius:16px;border:1px solid var(--border);padding:16px}.form-grid{display:grid;gap:10px}label{font-size:.92rem;color:var(--muted)}input[type=text],input[type=number],input[type=time],input[type=date],select{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;margin-top:4px}.tabs-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.tab-btn{background:#e2e8f0}.tab-btn.active{background:#0f766e;color:#fff}.doses-list{display:grid;gap:8px}.dose-row{border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between}.dose-row.taken{background:#dcfce7}.dose-row.pending{background:#fee2e2}.empty{color:var(--muted);text-align:center;margin-top:40px}textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;margin-top:4px;resize:vertical}.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--text)}@media (max-width: 560px){.content{padding:12px 12px 84px}.card-head{flex-direction:column;align-items:flex-start}.row{width:100%}.row button{flex:1}}
