:root{color:#20334c;font-synthesis:none;--background:#f7faff;--surface:#fff;--surface-soft:#f0f5fc;--text:#20334c;--muted:#536780;--line:#d7e2f0;--input-line:#7b8faa;--accent:#175fc4;--accent-hover:#124da1;--accent-soft:#eaf2ff;--on-accent:#fff;--danger:#a32632;--focus:#164ea6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-size:calc(125% * var(--text-scale,1));background:#f7faff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#121d30;--surface:#1b2a42;--surface-soft:#243753;--text:#f0f5ff;--muted:#bdcce2;--line:#405774;--input-line:#8095b1;--accent:#a4c9ff;--accent-hover:#c1daff;--accent-soft:#243e62;--on-accent:#172c4a;--danger:#ffa9ad;--focus:#93c6ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--background:#121d30;--surface:#1b2a42;--surface-soft:#243753;--text:#f0f5ff;--muted:#bdcce2;--line:#405774;--input-line:#8095b1;--accent:#a4c9ff;--accent-hover:#c1daff;--accent-soft:#243e62;--on-accent:#172c4a;--danger:#ffa9ad;--focus:#93c6ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:has(.auth-layout){font-size:calc(112.5% * var(--text-scale,1))}*{box-sizing:border-box}body{background:var(--background);color:var(--text);overflow-wrap:anywhere;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--accent)}svg{flex-shrink:0}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;font-size:clamp(2rem,5vw,2.8rem);line-height:1.2}h2{font-size:1.25rem;line-height:1.35}h1:focus{outline:none}button:disabled{cursor:default;opacity:.6}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--surface);border:2px solid var(--focus);padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.demo-banner{background:var(--accent-soft);color:var(--text);align-items:center;gap:10px;padding:12px max(24px,50vw - 640px);font-size:.8rem;display:flex}.demo-banner>span{max-width:620px}.profile-select{white-space:nowrap;align-items:center;gap:10px;margin-left:auto;display:flex}.profile-select select{max-width:210px;min-height:44px;font-size:.8rem}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{flex-wrap:wrap;align-items:center;gap:40px;max-width:1280px;min-height:98px;margin:auto;padding:24px;display:flex}.brand{color:var(--text);letter-spacing:-.03em;align-items:center;gap:10px;max-width:100%;font-size:1.45rem;font-weight:700;text-decoration:none;display:inline-flex}.brand>span:last-child{min-width:0}.brand-light{font-weight:400}.brand-icon{background:var(--accent);width:44px;height:44px;color:var(--on-accent);border-radius:14px;place-items:center;display:grid}.main-nav{align-items:center;gap:8px;display:flex}.main-nav a{min-height:48px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:.9rem;text-decoration:none;display:flex}.main-nav a:hover,.main-nav a.active{color:var(--accent);background:var(--accent-soft)}.main-nav a.active{font-weight:700}.profile-badge{align-items:center;gap:12px;margin-left:auto;font-size:.8rem;display:flex}.profile-badge strong,.profile-badge small{display:block}.profile-badge small{color:var(--muted);font-size:.75rem}.avatar{background:var(--surface-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.context-bar{background:var(--surface);border-bottom:1px solid var(--line)}.context-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin:auto;padding:16px 24px;display:flex}.context-inner>div{align-items:baseline;gap:.35em;display:flex}.context-inner .routine-owner-select{align-items:center;gap:12px}.context-inner>div,.context-inner label{min-width:0;max-width:100%}.context-label{color:var(--muted);font-size:1rem}.routine-owner strong{overflow-wrap:anywhere}.context-inner select{background:var(--surface-soft);border:none;max-width:330px;padding:10px 28px 10px 12px;font-weight:700}.permission-label{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.mobile-people-link{display:none}.live-message:not(:empty){background:var(--accent-soft);max-width:1232px;color:var(--text);border-left:4px solid var(--accent);margin:18px auto 0;padding:12px 18px;font-size:.95rem}.main-content{max-width:1280px;min-height:65vh;margin:auto;padding:44px 24px 64px}.page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.page-header>div{min-width:0;max-width:100%}.eyebrow{color:var(--accent);margin-bottom:9px;font-size:.8rem;font-weight:700}.page-description{color:var(--muted);max-width:65ch;margin-top:12px;font-size:1.05rem}.button{text-align:center;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:13px 20px;font-weight:700;line-height:1.3;text-decoration:none;transition:background-color .15s;display:inline-flex}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent-hover)}.secondary{background:var(--surface);color:var(--accent);border-color:var(--line)}.secondary:hover{background:var(--surface-soft)}.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.compact{padding:11px 13px;font-size:.8rem}.page-header>.button{flex-shrink:0}.routine-strip{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;padding:24px 28px;display:flex}.routine-date{align-items:center;gap:16px;display:flex}.routine-date>svg{color:var(--accent)}.routine-date strong{font-size:1rem;display:block}.routine-date span{color:var(--muted);margin-top:4px;font-size:.8rem;display:block}.routine-totals{flex-wrap:wrap;gap:30px;display:flex}.routine-totals>span{color:var(--muted);font-size:.8rem}.routine-totals strong{color:var(--text);font-size:1.25rem;display:block}.read-only-note{background:var(--accent-soft);border-radius:9px;align-items:center;gap:14px;margin:-10px 0 26px;padding:18px;display:flex}.read-only-note p{font-size:.95rem}.list-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.list-toolbar h2{align-items:center;gap:10px;display:flex}.count-badge{background:var(--surface-soft);color:var(--muted);border-radius:7px;place-items:center;min-width:28px;height:28px;font-size:.8rem;display:inline-grid}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--input-line);border-radius:8px;min-height:48px;padding:12px 14px}input::placeholder{color:var(--muted);opacity:1}.search-field input{width:290px;max-width:100%;font-size:.9rem}.medication-list{flex-direction:column;gap:16px;display:flex}.medication-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:58px minmax(200px,1fr) minmax(320px,.85fr);align-items:start;gap:20px;padding:26px;display:grid}.medicine-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.medicine-title{color:var(--text);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.medicine-title:hover{text-decoration:underline}.medicine-info p{color:var(--muted);margin-top:4px}.frequency{background:var(--surface-soft);color:var(--muted);border-radius:5px;margin-top:14px;padding:3px 9px;font-size:.8rem;display:inline-block}.dose-list{flex-direction:column;gap:12px;display:flex}.dose-row{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.dose-time{font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-weight:700;display:inline-flex}.dose-time svg{color:var(--muted)}.dose-row .muted{font-size:.8rem}.recorded-label{color:var(--accent);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.muted{color:var(--muted)}.reminder-note{background:var(--surface-soft);border-radius:12px;align-items:center;gap:18px;margin-top:36px;padding:28px;display:flex}.reminder-icon{color:var(--accent)}.reminder-note h2{font-size:1rem}.reminder-note p{color:var(--muted);max-width:66ch;margin-top:6px;font-size:.9rem}.text-link{color:var(--accent);background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:5px 0;font-weight:700;text-decoration:underline;display:inline-flex}.reminder-note .text-link{flex-shrink:0;margin-left:auto;font-size:.9rem}.empty-state{border:1px dashed var(--line);background:var(--surface);text-align:center;border-radius:12px;padding:54px 24px}.empty-state>svg{color:var(--accent);margin-bottom:16px}.empty-state p{color:var(--muted);max-width:52ch;margin:12px auto 24px}.back-link{color:var(--accent);background:0 0;border:0;align-items:center;gap:8px;min-height:44px;margin:-14px 0 24px;padding:6px 0;text-decoration:none;display:inline-flex}.form-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:850px;padding:32px}.field{flex-direction:column;gap:8px;margin-bottom:24px;font-weight:700;display:flex}.field>span,legend>span,.field small{color:var(--muted);font-size:.85rem;font-weight:400}.field input,.field textarea{width:100%;font-weight:400}.field input[aria-invalid=true]{border-color:var(--danger)}fieldset{border:0;min-width:0;margin:0 0 28px;padding:0}legend{margin-bottom:10px;padding:0;font-weight:700}.field-help{color:var(--muted);margin-bottom:14px;font-size:.85rem}.time-field{align-items:center;gap:14px;margin-bottom:12px;display:flex}.time-field input{width:155px}.icon-button{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:8px;place-items:center;min-width:44px;min-height:44px;display:grid}.day-options{flex-wrap:wrap;gap:10px;display:flex}.day-options label{background:var(--surface-soft);border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:10px;display:flex}input[type=checkbox]{accent-color:var(--accent);width:22px;height:22px;min-height:22px;margin:0}.error-text,.field .error-text{color:var(--danger);font-size:.9rem;display:block}.error-text:empty{display:none}.form-errors{border:2px solid var(--danger);border-radius:8px;margin-bottom:24px;padding:18px}.form-errors ul{margin:10px 0 0}.form-errors a{color:var(--danger)}.form-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;padding-top:24px;display:flex}.review-list{margin:0 0 28px}.review-list div{border-bottom:1px solid var(--line);padding:14px 0}.review-list dt{color:var(--muted);font-size:.85rem}.review-list dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.dialog-overlay{z-index:20;background:#12284a99;position:fixed;inset:0}.dialog-content{z-index:21;background:var(--surface);width:min(560px,100vw - 32px);max-height:85dvh;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:32px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 80px #12284a33}.dialog-content h2{margin-right:30px}.dialog-content>p{color:var(--muted);margin-top:16px}.dialog-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.close-dialog{position:absolute;top:14px;right:14px}.history-filters{gap:24px;margin-bottom:30px;display:flex}.history-filters label{flex-direction:column;gap:8px;font-size:.9rem;font-weight:700;display:flex}.history-filters select{max-width:420px}.history-list{flex-direction:column;gap:16px;display:flex}.history-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:20px;padding:26px;display:flex}.history-card h2{font-size:1.1rem}.history-card p{margin-top:6px;font-size:.9rem}.history-card>button{margin-left:auto}.people-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px;margin-bottom:30px;display:grid}.person-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px}.avatar-large{width:64px;height:64px;margin-bottom:18px;font-size:1.25rem}.person-card p{color:var(--muted);margin:6px 0 24px;font-size:.9rem}.person-form>p{color:var(--muted);margin:12px 0 24px}.credentials-panel>p{margin:12px 0 20px}.settings-section{border-top:1px solid var(--line);grid-template-columns:44px 1fr;gap:20px;max-width:880px;padding:28px 0;display:grid}.section-icon{color:var(--accent);background:var(--accent-soft);border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.settings-section p{color:var(--muted);margin-top:10px}.install-button{margin-top:18px}.install-instructions{border-left:3px solid var(--line);margin:18px 0;padding-left:16px}.settings-section .field{max-width:400px;margin:20px 0;font-size:.95rem}.toggle-label{align-items:center;gap:12px;min-height:48px;display:flex}.status-badge{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;margin-top:12px;padding:5px 10px;font-size:.8rem;display:inline-block}.site-footer{border-top:1px solid var(--line);max-width:1280px;color:var(--muted);justify-content:space-between;gap:20px;margin:0 auto;padding:24px;font-size:.8rem;display:flex}.site-footer span{align-items:center;gap:8px;display:flex}.auth-layout{min-height:100dvh}.auth-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;max-width:1280px;margin:auto;padding:24px;display:flex}.auth-intro h1{overflow-wrap:anywhere;font-size:2rem}.reading-toolbar{justify-content:flex-end;max-width:1280px;margin:auto;padding:12px 24px;display:flex}.text-size-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.text-size-label,.text-size-value{color:var(--muted);font-size:max(.85rem,14px)}.text-size-value{text-align:center;font-variant-numeric:tabular-nums;min-width:3.5ch}.text-size-controls button{border:1px solid var(--input-line);background:var(--surface);min-width:44px;min-height:44px;color:var(--accent);border-radius:8px;padding:6px 10px;font-size:max(1rem,16px);font-weight:700}.text-size-controls button:hover:not(:disabled){background:var(--accent-soft)}.auth-container{max-width:620px;margin:20px auto 64px;padding:0 24px}.auth-intro{margin-bottom:30px}.auth-intro>p:last-child{color:var(--muted);margin-top:15px}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px}.auth-panel>p{margin:16px 0 24px}.auth-submit{width:100%;margin-top:10px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:18px;margin-top:24px;display:flex}.auth-links a{align-items:center;min-height:44px;font-size:.95rem;display:inline-flex}.password-toggle{margin:-12px 0 22px}.setup-notice{background:var(--accent-soft);border-radius:8px;margin-bottom:26px;padding:18px}.setup-notice p,.setup-notice .text-link{margin-top:8px;font-size:.9rem}.demo-entry{margin-top:26px;font-size:.95rem}.account-bar{background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:20px;padding:12px max(24px,50vw - 616px);font-size:.9rem;display:flex}.account-bar>span{align-items:center;gap:8px;margin-right:auto;display:inline-flex}@media (max-width:1150px){.header-inner{gap:22px}.profile-badge>span:last-child{display:none}.medication-card{grid-template-columns:56px 1fr}.dose-list{grid-column:2;max-width:500px}.profile-select{flex-direction:column;align-items:flex-start;gap:2px}}@media (max-width:767px){.auth-header{padding:24px 20px}.auth-container{padding:0 20px}.auth-panel{padding:24px 20px}.demo-banner{flex-wrap:wrap;align-items:flex-start;padding:14px 20px}.demo-banner>span{flex:1;min-width:180px}.profile-select{white-space:normal;flex-flow:wrap;align-items:center;gap:8px;width:calc(100% - 30px);margin-left:30px}.profile-select select{max-width:100%}.header-inner{min-height:80px;padding:18px 20px}.main-nav{background:var(--surface);border-top:1px solid var(--line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:10;justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0}.main-nav a{flex-direction:column;flex:1;gap:4px;min-width:0;padding:6px 4px;font-size:.7rem}.main-nav a span{overflow-wrap:anywhere;max-width:100%;line-height:1.2}.main-nav .people-nav{display:none}.mobile-people-link{align-items:center;gap:6px;min-height:44px;font-size:.85rem;font-weight:700;display:inline-flex}.brand{font-size:1.3rem}.context-inner{flex-wrap:wrap;gap:10px;padding:14px 20px}.context-inner>div{flex-wrap:wrap;gap:8px}.context-inner select{max-width:100%}.permission-label{font-size:.75rem}.main-content{padding:28px 20px 44px}.page-header{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:26px}.page-header>.button{width:100%}.page-description{font-size:1rem}.routine-strip{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:28px;padding:20px}.routine-totals{border-top:1px solid var(--line);gap:30px;width:100%;padding-top:16px}.routine-date strong{font-size:.9rem}.list-toolbar{flex-direction:column;align-items:flex-start;gap:16px}.search-field,.search-field input{width:100%}.medication-card{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:20px}.medicine-icon{border-radius:11px;width:44px;height:44px}.medicine-title{overflow-wrap:anywhere;font-size:1.05rem}.medicine-info p{font-size:.95rem}.dose-list{border-top:1px solid var(--line);grid-column:1/-1;max-width:none;padding-top:16px}.dose-row{flex-wrap:wrap}.reminder-note{flex-wrap:wrap;align-items:flex-start;padding:22px}.reminder-note>div{flex:1;min-width:180px}.reminder-note .text-link{flex-wrap:wrap;flex-shrink:1;min-width:0;margin-left:44px}.form-panel{padding:22px 18px}.form-actions>.button{width:100%}.time-field{flex-wrap:wrap;gap:10px}.time-field input{max-width:100%}.history-filters{flex-direction:column;gap:18px}.history-filters select{width:100%;max-width:100%}.history-card{flex-wrap:wrap;gap:14px;padding:20px}.history-card>div{flex:1;min-width:180px}.history-card>button{width:100%;margin-left:0}.settings-section{grid-template-columns:36px minmax(0,1fr);gap:14px}.section-icon{width:36px;height:36px}.field select{max-width:100%}.site-footer{flex-direction:column;gap:14px;padding:24px 20px 120px}.live-message:not(:empty){margin:14px 20px 0}.dialog-content{padding:26px 20px}.dialog-actions .button{width:100%}}.reminder-status strong{align-items:center;gap:8px;display:inline-flex}.reminder-actions{flex-wrap:wrap;margin-block:20px}.reminder-actions .button{white-space:normal}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
