:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font:16px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f1e1e0f, 0 1px 1px #0f1e1e0a;--shadow-md:0 6px 20px #0f1e1e1a;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--color-bg:#f4f7f7;--color-canvas:#dde6e6;--color-surface:#fff;--color-surface-alt:#eef3f3;--color-border:#dde4e4;--color-border-strong:#c6d1d1;--color-text:#45535a;--color-text-secondary:#667479;--color-heading:#172428;--color-primary:#0b6b63;--color-primary-hover:#085650;--color-primary-soft:#e1f2ef;--color-primary-soft-border:#bfe2dc;--color-on-primary:#fff;--color-success:#167a52;--color-success-soft:#e3f6ec;--color-success-soft-border:#bce6cf;--color-warning:#9a5b00;--color-warning-soft:#fdf0dc;--color-warning-soft-border:#f3d9a3;--color-danger:#b3261e;--color-danger-soft:#fbeae8;--color-danger-soft-border:#f0c4c0;--color-neutral:#566268;--color-neutral-soft:#eceff0;--color-neutral-soft-border:#d8dee0;--color-focus-ring:#0b6b63;background:var(--color-canvas);color:var(--color-text)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#10161a;--color-canvas:#0a0e11;--color-surface:#171f24;--color-surface-alt:#1d262b;--color-border:#2a353b;--color-border-strong:#3a464c;--color-text:#c2ced2;--color-text-secondary:#8b9aa0;--color-heading:#eef4f4;--color-primary:#52c9ba;--color-primary-hover:#74d6c9;--color-primary-soft:#52c9ba24;--color-primary-soft-border:#52c9ba52;--color-on-primary:#04211d;--color-success:#6fd39a;--color-success-soft:#6fd39a24;--color-success-soft-border:#6fd39a52;--color-warning:#eab35a;--color-warning-soft:#eab35a24;--color-warning-soft-border:#eab35a52;--color-danger:#e2867e;--color-danger-soft:#e2867e24;--color-danger-soft-border:#e2867e52;--color-neutral:#9aa7ac;--color-neutral-soft:#232d32;--color-neutral-soft-border:#333f45;--color-focus-ring:#6fdcd1;background:var(--color-canvas);color:var(--color-text)}}*{box-sizing:border-box}body{background:var(--color-canvas);margin:0}#root{background:var(--color-bg);flex-direction:column;min-height:100svh;display:flex}@media (width>=640px){body{justify-content:center;display:flex}#root{width:100%;max-width:480px;min-height:100vh;box-shadow:var(--shadow-md)}}img,svg{display:block}h1{color:var(--color-heading);margin:0 0 var(--space-4);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.25}h2{color:var(--color-heading);margin:0 0 var(--space-3);font-size:16px;font-weight:600}p{margin:0 0 var(--space-3)}a{color:var(--color-primary)}::placeholder{color:var(--color-text-secondary);opacity:.85}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.app-header-brand{align-items:center;gap:var(--space-2);min-width:0;display:flex}.app-header-mark{border-radius:var(--radius-sm);background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);flex:none;justify-content:center;align-items:center;display:flex}.app-header-title{color:var(--color-heading);letter-spacing:-.01em;font-size:16px;font-weight:700}.app-header-user{align-items:center;gap:var(--space-2);flex:none;display:flex}.app-header-email{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;overflow:hidden}.app-header-avatar{display:none}@media (width>=400px){.app-header-avatar{background:var(--color-surface-alt);width:30px;height:30px;color:var(--color-heading);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}}.icon-button{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--color-surface-alt);color:var(--color-heading)}.app-main{padding-bottom:var(--space-3);background:var(--color-bg);flex:1;overflow-y:auto}.screen{max-width:520px;padding:var(--space-5) var(--space-4) var(--space-7);margin:0 auto}.screen-placeholder{color:var(--color-text-secondary);font-size:15px}.app-nav{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-1) var(--space-2) calc(var(--space-1) + var(--safe-bottom));display:flex;box-shadow:0 -2px 10px #0f1e1e0d}.app-nav-item{padding:var(--space-2) 0 var(--space-1);color:var(--color-text-secondary);border-radius:var(--radius-sm);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.app-nav-item svg{transition:transform .15s}.app-nav-item.active{color:var(--color-primary)}.app-nav-item:not(.active):hover{color:var(--color-heading)}.app-nav-item--accent .app-nav-icon{background:var(--color-primary);width:40px;height:40px;color:var(--color-on-primary);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;margin-top:-18px;display:flex}.app-nav-item--accent.active .app-nav-icon{background:var(--color-primary-hover)}.app-nav-item--accent span:last-child{margin-top:1px}button,.button{font:inherit;border-radius:var(--radius-md);border:1px solid var(--color-primary);background:var(--color-primary);min-height:46px;color:var(--color-on-primary);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);padding:12px 18px;font-size:15px;font-weight:600;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}button:hover,.button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}button.secondary,.button.secondary{color:var(--color-heading);border-color:var(--color-border-strong);background:0 0}button.secondary:hover,.button.secondary:hover{background:var(--color-surface-alt)}button.danger,.button.danger{color:var(--color-danger);border-color:var(--color-danger-soft-border);background:0 0}button.danger:hover,.button.danger:hover{background:var(--color-danger-soft)}button.link-button,.link-button{color:var(--color-primary);background:0 0;border:none;min-height:0;padding:0;font-size:14px;font-weight:600;text-decoration:none}button.link-button:hover,.link-button:hover{background:0 0;text-decoration:underline}button:disabled,.button:disabled{opacity:.55;cursor:default}.button-block{width:100%;display:flex}.dashed-button{color:var(--color-primary);border:1.5px dashed var(--color-border-strong);background:0 0;width:100%}.dashed-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary-soft-border)}.form{gap:var(--space-4);flex-direction:column;display:flex}.form label{gap:var(--space-2);color:var(--color-heading);flex-direction:column;font-size:14px;font-weight:600;display:flex}.form input,.form textarea,.form select{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-height:46px;color:var(--color-heading);padding:12px 14px;font-weight:400}.form textarea{resize:vertical;min-height:0}.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.form-row{gap:var(--space-2);align-items:center;display:flex}.form-row input{flex:1}.form-section{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.form-section:first-child{border-top:none;padding-top:0}.form-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin:0;font-size:13px;font-weight:700}.form-hint{color:var(--color-text-secondary);margin-top:-8px;font-size:13px}.textarea-wrap{position:relative}.textarea-wrap textarea{width:100%;padding-right:46px}.mic-button{border:1px solid var(--color-border-strong);background:var(--color-surface);width:34px;height:34px;min-height:0;color:var(--color-text-secondary);border-radius:50%;padding:0;position:absolute;bottom:6px;right:6px}.mic-button:hover{background:var(--color-surface-alt);color:var(--color-heading)}.mic-button--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);animation:1.4s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 var(--color-primary-soft-border)}50%{box-shadow:0 0 0 6px #0000}}.checkbox-row{align-items:flex-start;gap:var(--space-3);color:var(--color-text);cursor:pointer;font-size:14px;font-weight:400;display:flex}.checkbox-row input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--color-primary);flex:none;margin-top:1px}.time-list{gap:var(--space-2);flex-direction:column;display:flex}.time-row{align-items:center;gap:var(--space-2);display:flex}.time-row input[type=time]{flex:1}.time-row .icon-button{border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.time-row .icon-button:hover{color:var(--color-danger);border-color:var(--color-danger-soft-border);background:var(--color-danger-soft)}.file-button input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-button{cursor:pointer;position:relative}.stack{gap:var(--space-5);flex-direction:column;display:flex}.form-divider{align-items:center;gap:var(--space-3);color:var(--color-text-secondary);margin:0;font-size:13px;display:flex}.form-divider:before,.form-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.form-footer{color:var(--color-text-secondary);margin-top:var(--space-2);font-size:14px;line-height:1.7}.callout{gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);align-items:flex-start;font-size:14px;display:flex}.callout svg{flex:none;margin-top:1px}.callout--ai{background:var(--color-primary-soft);border-color:var(--color-primary-soft-border);color:var(--color-heading)}.callout--ai svg{color:var(--color-primary)}.callout--info{color:var(--color-text-secondary);font-size:13px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.medication-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.medication-card{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;display:flex}.medication-card:hover{border-color:var(--color-border-strong)}.medication-card-icon{border-radius:var(--radius-sm);background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);flex:none;justify-content:center;align-items:center;display:flex}.medication-card-body{flex:1;min-width:0}.medication-card-name{color:var(--color-heading);font-size:16px;font-weight:600}.medication-card-dosage{color:var(--color-text-secondary);font-weight:400}.medication-card-chevron{color:var(--color-text-secondary);flex:none}.beneficiary-tag{color:var(--color-text-secondary);align-items:center;gap:4px;margin-top:3px;font-size:12.5px;font-weight:500;display:inline-flex}.beneficiary-tag svg{flex:none}.chip-list{gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.chip{border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-heading);align-items:center;padding:6px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.status-badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:5px 11px 5px 8px;font-size:12.5px;font-weight:700;display:inline-flex}.status-badge svg{flex:none}.status-badge--pending{background:var(--color-neutral-soft);border-color:var(--color-neutral-soft-border);color:var(--color-neutral)}.status-badge--late{background:var(--color-warning-soft);border-color:var(--color-warning-soft-border);color:var(--color-warning)}.status-badge--taken{background:var(--color-success-soft);border-color:var(--color-success-soft-border);color:var(--color-success)}.status-badge--skipped{background:var(--color-neutral-soft);border-color:var(--color-neutral-soft-border);color:var(--color-text-secondary)}.progress-strip{align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex}.progress-strip-text{flex:1}.progress-strip-count{color:var(--color-heading);font-size:20px;font-weight:700;line-height:1.2}.progress-strip-label{color:var(--color-text-secondary);font-size:13px}.progress-bar-track{border-radius:var(--radius-pill);background:var(--color-neutral-soft);height:8px;margin-top:10px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-pill);background:var(--color-primary);height:100%;transition:width .3s}.dose-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dose-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.dose-card--skipped{opacity:.85}.dose-card-top{align-items:flex-start;gap:var(--space-3);display:flex}.dose-card-time{color:var(--color-heading);font-variant-numeric:tabular-nums;min-width:52px;font-size:19px;font-weight:700;line-height:1.3}.dose-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.dose-card-name-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;display:flex}.dose-card-name{color:var(--color-heading);font-size:15.5px;font-weight:600}.dose-card-dosage{color:var(--color-text-secondary);font-weight:400}.dose-card-actions{gap:var(--space-2);display:flex}.dose-card-actions button{flex:1;min-height:42px;padding:10px 14px;font-size:14px}.dose-card-edit{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-md);flex-direction:column;display:flex}.dose-card-edit .form-row{flex-wrap:wrap}.dose-card-edit input{min-height:42px}.dose-card-edit-actions{gap:var(--space-2);display:flex}.dose-card-edit-actions button{flex:1;min-height:40px;padding:9px 12px;font-size:14px}.detail-header{margin-bottom:var(--space-5)}.photo-section{margin:var(--space-3) 0 var(--space-4)}.photo-frame{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-alt);overflow:hidden}.photo-frame img{object-fit:cover;width:100%;max-height:260px}.photo-actions{gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);display:flex}.photo-actions button:first-child{flex:1}.photo-actions button:last-child{flex:none;width:42px;padding:0}.detail-meta{color:var(--color-text);margin-bottom:var(--space-3);flex-direction:column;gap:4px;font-size:14.5px;display:flex}.detail-meta strong{color:var(--color-heading);font-weight:600}.detail-notes{padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-md);color:var(--color-text);font-size:14.5px}.detail-actions{gap:var(--space-2);margin-top:var(--space-4);display:flex}.detail-actions button{flex:1}.detail-history{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.auth-shell{padding:var(--space-6) var(--space-4);background:var(--color-bg);flex:1;justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:380px;padding:var(--space-6) var(--space-5) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);text-align:center;flex-direction:column;display:flex}.auth-brand-mark{border-radius:var(--radius-md);background:var(--color-primary-soft);width:52px;height:52px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.auth-brand-name{color:var(--color-text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:15px;font-weight:700}.auth-card h1{text-align:center}.error-message{align-items:flex-start;gap:var(--space-2);color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-soft-border);border-radius:var(--radius-md);padding:var(--space-3);margin:0;font-size:14px;display:flex}.success-message{align-items:flex-start;gap:var(--space-2);color:var(--color-success);background:var(--color-success-soft);border:1px solid var(--color-success-soft-border);border-radius:var(--radius-md);padding:var(--space-3);margin:0;font-size:14px;display:flex}@media (width<=380px){.screen{padding:var(--space-4) var(--space-3) var(--space-6)}.app-header{padding-left:var(--space-3);padding-right:var(--space-3)}.dose-card-time{min-width:44px;font-size:17px}.app-header-title{display:none}}
