:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#242126;background:#fbfaf8;font-synthesis:none;--bg:#fbfaf8;--panel:#fff;--panel-soft:#f5f1f2;--border:#e8e1e4;--text:#242126;--muted:#756e76;--accent:#704260;--accent-strong:#56314b;--accent-tint:#f2eaf0;--success:#718d77;--warning:#b47a32;--danger:#b65a5b;--shadow:0 18px 55px rgba(58,37,50,.08)}:root[data-theme=dark]{--bg:#171317;--panel:#231d23;--panel-soft:#30262f;--border:#443640;--text:#f7f1f5;--muted:#b7aab4;--accent:#c890af;--accent-strong:#e7b8d0;--accent-tint:#3b2938;--shadow:0 18px 55px rgba(0,0,0,.22)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:320px}button,input,select{font:inherit}button{cursor:pointer;background:var(--accent);color:#fff;border:0;border-radius:12px;padding:.7rem 1rem;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s}button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #7042602e}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}button:disabled{opacity:.55;cursor:not-allowed;transform:none}input,select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:11px;padding:.72rem .8rem;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}label{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.85rem;color:var(--muted);font-size:.86rem}label.checkbox{flex-direction:row;align-items:center}.error{color:var(--danger)}.hint{color:var(--muted)}.app-shell{min-height:100vh}.sidebar-nav{display:none}.main-column{min-width:0;flex:1}main{max-width:1160px;margin:0 auto;padding:2.5rem clamp(1.25rem,4vw,4.5rem) 4rem}.brand{display:flex;align-items:center;gap:.65rem;color:var(--text);font-family:Georgia,serif;font-size:1.3rem;letter-spacing:-.02em}.brand img{width:32px;height:32px;object-fit:contain}.mobile-brand{display:flex;margin-bottom:2rem}.nav-section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:.5rem .75rem;margin-top:2.3rem}.sidebar-spacer{flex:1}.sidebar-nav a,.sidebar-nav button.logout{display:flex;align-items:center;gap:.7rem;width:100%;padding:.78rem .85rem;border-radius:12px;color:var(--muted);text-decoration:none;background:transparent;border:0;text-align:left}.sidebar-nav a.active{background:var(--accent-tint);color:var(--accent-strong);font-weight:700}.nav-icon{width:1.25rem;text-align:center;font-size:1.15rem;line-height:1}.bottom-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom))}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.28rem;text-align:center;padding:.55rem .1rem;color:var(--muted);font-size:.66rem;text-decoration:none}.bottom-nav a.active{color:var(--accent);font-weight:700}.bottom-nav .nav-icon{font-size:1.05rem}.page{max-width:100%;margin:0;padding:0 0 4rem}.page h1{font-family:Georgia,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:400;letter-spacing:-.045em;margin:.3rem 0 .75rem}.page h2{font-size:1.25rem;margin:2rem 0 .8rem}.page>p:first-of-type{color:var(--muted)}.card,.dose-row,.medication-row{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:1.15rem;margin-bottom:1rem}.dose-list,.medication-list,.prescription-list,.search-results,.profile-list{list-style:none;padding:0;display:grid;gap:.7rem}.dose-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:76px}.dose-row--taken{border-color:color-mix(in srgb,var(--success) 55%,var(--border));background:color-mix(in srgb,var(--success) 6%,var(--panel))}.dose-row--skipped{opacity:.68}.dose-info{display:flex;align-items:center;gap:.75rem}.dose-info strong{font-family:Georgia,serif;font-size:1.45rem;color:var(--accent)}.dose-actions{display:flex;gap:.5rem;flex-shrink:0}.dose-status{color:var(--success);font-weight:700}.medication-row{overflow:hidden;padding:0}.medication-header{width:100%;background:transparent;color:var(--text);border:0;text-align:left;padding:1.05rem}.medication-detail{padding:0 1.05rem 1.05rem}.tabs,.mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.tab,.mode-toggle button{background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none}.tab--active,.mode-toggle button.mode-toggle--active{color:var(--accent-strong);background:var(--accent-tint);border-color:var(--accent)}.inline-form{display:flex;gap:.6rem}.inline-form input{flex:1}.search-result,.profile-card{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--border);text-align:left;padding:1rem;border-radius:14px}.stacked-form fieldset{border:1px solid var(--border);border-radius:14px;margin-bottom:1rem}.accent-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.accent-swatch{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:transparent;border:0;padding:0}.accent-swatch .accent-swatch-dot{width:36px;height:36px;border-radius:50%;border:2px solid transparent;box-shadow:inset 0 0 0 1px var(--border)}.accent-swatch--selected .accent-swatch-dot{border-color:var(--text)}.accent-swatch-label{font-size:.7rem;color:var(--muted);text-align:center}.disclaimer{color:var(--muted);font-size:.75rem;max-width:720px;margin:2rem auto 0;padding-top:1rem;border-top:1px solid var(--border)}.auth-page{max-width:430px;margin:8vh auto;padding:1.5rem}.auth-page h1{font-family:Georgia,serif;font-weight:400;font-size:2.7rem}.auth-page .card{padding:1.5rem}@media (min-width:900px){.app-shell{display:flex}.sidebar-nav{display:flex;flex-direction:column;width:250px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);padding:2rem 1rem;position:sticky;top:0;height:100vh}.mobile-brand,.bottom-nav{display:none}main{padding-top:3.5rem}.dose-row{padding:1.35rem 1.5rem}.dose-info strong{font-size:1.7rem}.disclaimer{margin-left:0}.page{padding-bottom:1rem}}@media (min-width:1180px){.page{max-width:980px}.page:has(.dose-list){display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:2.5rem;align-items:start}.page:has(.dose-list)>h1,.page:has(.dose-list)>p:first-of-type,.page:has(.dose-list)>.error{grid-column:1/-1}.page:has(.dose-list)>.dose-list{grid-column:1}.page:has(.dose-list)>.disclaimer{grid-column:1/-1}}@media (max-width:560px){main{padding:1.15rem 1rem 5.5rem}.page h1{font-size:2.6rem}.dose-row{align-items:flex-start;flex-direction:column}.dose-info,.dose-actions{width:100%}.dose-actions button{flex:1}.inline-form{flex-direction:column}.card{border-radius:15px}.brand{font-size:1.2rem}}.auth-forgot{display:block;margin-top:.95rem;text-align:center;font-size:.9rem}.button-link{display:inline-flex;margin-top:1rem}.success{color:#16734a;line-height:1.55}.auth-brand{display:flex;align-items:center;gap:.7rem;font-family:Georgia,serif;font-size:1.35rem}.auth-brand img{width:42px;height:42px}.auth-kicker{color:var(--accent);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin:3rem 0 1rem}.auth-page h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.45rem,6vw,4rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 2rem}.auth-page .card{padding:1.5rem;background:var(--panel);box-shadow:var(--shadow)}.auth-page .card button{width:100%;margin-top:.5rem}.auth-switch{color:var(--muted)}.auth-switch a{color:var(--accent);font-weight:700}
