@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f1a;--bg-elevated:#121826d6;--surface:#0f1624e6;--surface-strong:#131c2df5;--surface-soft:#7c9adb1f;--text:#f4f7fb;--muted:#96a3ba;--line:#94a3b829;--line-strong:#94a3b847;--accent:#86a7ff;--accent-strong:#6d92f8;--accent-soft:#86a7ff24;--danger:#ff8a8a;--danger-soft:#ff8a8a24;--warning:#f4c97f;--warning-soft:#f4c97f24;--success:#7ed4b5;--success-soft:#7ed4b524;--shadow:0 30px 80px #00000052;font-family:Manrope,ui-sans-serif,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#edf1f7;--bg-elevated:#ffffffbf;--surface:#ffffffd1;--surface-strong:#fffffff5;--surface-soft:#7591cc1a;--text:#111827;--muted:#66758d;--line:#64748b24;--line-strong:#64748b38;--accent:#4b6fd6;--accent-strong:#395bbf;--accent-soft:#4b6fd61a;--danger:#d64949;--danger-soft:#d649491f;--warning:#b87918;--warning-soft:#b879181f;--success:#1c8d62;--success-soft:#1c8d621f;--shadow:0 30px 70px #0f172a14}*{box-sizing:border-box}html{background:radial-gradient(circle at top, #6a8ad12e, transparent 30%), radial-gradient(circle at bottom, #66758d2e, transparent 28%), var(--bg)}body{min-width:320px;min-height:100vh;color:var(--text);background:0 0;margin:0}body:before{content:"";pointer-events:none;background:linear-gradient(#ffffff08,#0000 20%),radial-gradient(circle at 20% 20%,#86a7ff1a,#0000 24%);position:fixed;inset:0}a,button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}#root{min-height:100vh}.center-screen,.auth-shell{place-items:center;min-height:100vh;padding:24px 20px;display:grid;position:relative}.theme-toggle{z-index:20;border:1px solid var(--line);background:var(--bg-elevated);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-height:42px;color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:fixed;top:18px;right:18px}.app-card,.auth-panel,.summary-tile,.panel,.dose-card,.med-row,.history-row,.bottom-nav{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow)}.auth-panel{border-radius:30px;width:min(100%,420px);padding:28px 22px}.brand-lockup{color:var(--text);letter-spacing:-.02em;align-items:center;gap:10px;font-size:14px;font-weight:800;display:inline-flex}.brand-lockup.minimal{margin-bottom:22px}.brand-lockup.compact{margin-bottom:10px}.brand-mark{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.auth-panel h1,.topbar h1{letter-spacing:-.06em;margin:0 0 10px;font-size:clamp(2rem,7vw,3.35rem);line-height:.98}.auth-panel p,.topbar p,.dose-main p,.med-row p,.history-row p,.form-message,.form-error{color:var(--muted);margin:0;line-height:1.6}.auth-form,.med-form,.content-grid,.dose-list,.med-list,.history-list{gap:14px;display:grid}.auth-form{margin-top:18px}label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);gap:8px;font-size:12px;font-weight:700;display:grid}input,textarea{border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--text);border-radius:18px;outline:none;padding:14px 16px;transition:border-color .16s,box-shadow .16s,transform .16s}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 76%, transparent)}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);transform:translateY(-1px)}.primary-button,.secondary-button,.ghost-button,.nav-button,.icon-button{white-space:nowrap;border:1px solid #0000;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-size:14px;font-weight:700;transition:transform .16s,background .16s,border-color .16s,color .16s;display:inline-flex}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.nav-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button{background:var(--accent);color:#09111f;padding:0 16px}.primary-button:hover{background:var(--accent-strong)}.secondary-button{background:var(--surface-soft);color:var(--text);border-color:var(--line);padding:0 16px}.ghost-button{color:var(--text);border-color:var(--line);background:0 0;padding:0 16px}.full-width{width:100%}.app-shell{min-height:100vh}.sidebar-backdrop{z-index:24;opacity:0;pointer-events:none;background:#03081494;transition:opacity .18s;position:fixed;inset:0}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.app-sidebar{z-index:25;border-radius:0 28px 28px 0;align-content:start;gap:16px;width:min(86vw,360px);padding:18px;transition:transform .22s;display:grid;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.sidebar-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-close{flex:none}.sidebar-user{max-width:100%}.sidebar-actions{gap:10px;display:grid}.main-panel{width:min(100%,1180px);margin:0 auto;padding:18px 18px 110px}.topbar{gap:12px;margin-bottom:18px;display:grid}.sidebar-trigger{width:fit-content;min-width:108px}.user-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);max-width:60%;color:var(--muted);background:var(--surface-soft);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;overflow:hidden}.notice{color:var(--text);border-radius:24px;margin-bottom:18px;padding:14px 16px}.summary-strip{gap:12px;display:grid}.summary-tile{border-radius:24px;gap:10px;min-height:96px;padding:18px;display:grid}.summary-tile span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.summary-tile strong{letter-spacing:-.06em;font-size:clamp(2rem,7vw,3rem);line-height:1}.summary-tile.danger strong{color:var(--danger)}.summary-tile.success strong{color:var(--success)}.panel{border-radius:30px;padding:18px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-heading h2{letter-spacing:-.03em;margin:0;font-size:18px}.panel-heading span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.dose-card{border-radius:24px;gap:14px;padding:16px;display:grid}.dose-card.late{border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.dose-time{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.dose-time strong{color:var(--text);letter-spacing:-.03em;font-size:18px}.dose-main h3,.med-row h3,.history-row h3{letter-spacing:-.03em;margin:0 0 4px;font-size:16px}.status-pill{background:var(--surface-soft);width:fit-content;color:var(--text);border-radius:999px;margin-top:10px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.applied{background:var(--success-soft);color:var(--success)}.status-pill.skipped,.dose-card.late .status-pill{background:var(--danger-soft);color:var(--danger)}.dose-actions,.med-actions{gap:8px;display:flex}.icon-button{border-color:var(--line);background:var(--surface-strong);width:46px;color:var(--text);padding:0}.icon-button.success{color:var(--success);background:var(--success-soft)}.icon-button.warn{color:var(--warning);background:var(--warning-soft)}.icon-button.muted{color:var(--muted);background:var(--surface-soft)}.icon-button.danger{color:var(--danger);background:var(--danger-soft)}.completed-label{color:var(--success);font-size:13px;font-weight:800}.medications-layout,.two-columns{gap:18px;display:grid}.med-row{border-radius:24px;gap:16px;padding:16px;display:grid}.med-row.editing{border-color:var(--accent);background:color-mix(in srgb, var(--surface) 78%, var(--accent-soft))}.time-stack{flex-wrap:wrap;gap:8px;display:flex}.time-stack span{background:var(--surface-soft);color:var(--text);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.history-row{border-radius:24px;align-items:center;gap:12px;padding:15px 16px;display:flex}.status-dot{background:var(--muted);border-radius:999px;flex:none;width:10px;height:10px}.status-dot.applied{background:var(--success)}.status-dot.skipped,.status-dot.missed{background:var(--danger)}.empty-state{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:22px;padding:24px;font-size:14px;font-weight:700}.bottom-nav{z-index:15;border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;display:grid;position:fixed;bottom:14px;left:14px;right:14px}.nav-button{min-height:58px;color:var(--muted);background:0 0;flex-direction:column;gap:6px}.nav-button span{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.nav-button.active{background:var(--surface-soft);color:var(--text)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=720px){.auth-panel{padding:36px}.app-shell{grid-template-columns:300px minmax(0,1fr);gap:24px;width:min(100%,1380px);margin:0 auto;padding:28px 28px 0;display:grid}.sidebar-backdrop{display:none}.app-sidebar{border-radius:30px;width:100%;height:calc(100vh - 56px);position:sticky;top:28px;transform:none}.sidebar-close{display:none}.main-panel{width:100%;margin:0;padding:0 0 126px}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.medications-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.med-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.time-stack{justify-content:flex-end}.bottom-nav{width:min(560px,100vw - 28px);left:50%;right:auto;transform:translate(-50%)}.sidebar-trigger{display:none}}@media (width>=980px){.topbar{gap:8px}.dose-card{grid-template-columns:110px minmax(0,1fr) auto;align-items:center}}
