:root{color:#0a2050;font-synthesis:none;--navy:#0a2050;--teal:#0b8379;--teal-dark:#076b64;--mint:#eef8f6;--line:#d7e2e5;--muted:#637083;--danger:#a12b3a;--radius:14px;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fff;min-height:100%}body{background:#fff;min-width:320px;min-height:100%;margin:0}button,input{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #45b8ad}.page{background:#fff;width:min(100%,620px);min-height:100dvh;margin:0 auto}.center-page,.locked-page,.admin-login{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:32px 24px;display:flex}.center-page p{color:var(--muted);font-size:18px}.locked-page h1,.admin-login h1{letter-spacing:-1.5px;margin:0;font-size:clamp(34px,10vw,46px)}.locked-page>p{max-width:460px;margin:0;font-size:21px;line-height:1.55}.locked-page footer{gap:24px;margin-top:24px;display:flex}a{color:var(--teal-dark);text-underline-offset:4px;font-weight:700}.home-header,.form-header{min-height:96px;padding:max(18px, env(safe-area-inset-top)) 24px 12px;justify-content:space-between;align-items:center;display:flex}.status-banner{color:#694b0f;background:#fff8e8;border:1px solid #d4aa58;border-radius:12px;margin:8px 24px 0;padding:14px 16px;font-size:16px;font-weight:650;line-height:1.45}.success-banner{color:#075f57;background:#eef8f6;border:1px solid #8bc5b8;border-radius:12px;margin:8px 24px 0;padding:14px 16px;font-size:16px;font-weight:700;line-height:1.45}.brand,.mini-brand{align-items:center;gap:10px;display:flex}.brand span{letter-spacing:-1.5px;font-size:34px;font-weight:800}.mini-brand span{font-size:22px;font-weight:800}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.icon-button:hover{background:var(--mint)}.reminders-section{padding-top:26px}.reminders-section h1{letter-spacing:-1.2px;margin:0;padding:0 24px 20px;font-size:clamp(28px,7.6vw,36px);line-height:1.15}.reminder-list{border-top:1px solid var(--line)}.reminder-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:48px minmax(112px,1fr) minmax(82px,auto) 22px;align-items:center;gap:10px;width:100%;min-height:130px;padding:18px 24px;display:grid}.reminder-row:hover{background:#fbfefe}.reminder-row.disabled{opacity:.55}.reminder-row.taken{opacity:.62;background:#f7fbfa}.reminder-check{border:3px solid var(--teal);background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:28px;line-height:1;display:grid}.reminder-row.disabled .reminder-check{background:#fff}.reminder-row time{letter-spacing:-3px;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(46px,14vw,66px);font-weight:750}.reminder-details{flex-direction:column;gap:6px;min-width:0;display:flex}.reminder-label{color:#172750;text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:650;overflow:hidden}.snooze-status{color:var(--teal-dark);font-size:14px;font-weight:750;line-height:1.3}.taken-status{color:var(--teal-dark);font-size:14px;font-weight:800;line-height:1.3}.chevron{font-size:42px;font-weight:300;line-height:1}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:40px 30px;display:flex}.empty-state h2{margin:18px 0 8px;font-size:24px}.empty-state p{color:var(--muted);margin:0;font-size:18px;line-height:1.5}.add-bar{padding:28px 24px max(28px, env(safe-area-inset-bottom));background:linear-gradient(#eef8f640,#eef8f6 22%);position:sticky;bottom:0}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius);cursor:pointer;width:100%;min-height:68px;padding:14px 22px;font-size:21px;font-weight:750}.primary-button{border:2px solid var(--teal);background:var(--teal);color:#fff;box-shadow:0 4px 12px #0b837929}.primary-button:hover{background:var(--teal-dark);border-color:var(--teal-dark)}.primary-button:disabled{opacity:.6;cursor:wait}.secondary-button{border:2px solid var(--teal);color:var(--teal-dark);background:#fff}.danger-button{color:var(--danger);background:#fff7f8;border:2px solid #f2c7cc}.add-button{justify-content:center;align-items:center;gap:14px;min-height:78px;font-size:24px;display:flex}.add-button span{font-size:40px;font-weight:300}.text-button,.danger-link{min-height:48px;color:var(--teal-dark);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;font-size:18px;font-weight:700;text-decoration:underline}.danger-link{color:var(--danger)}.form-header{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr 52px;display:grid}.form-header h1{text-align:center;letter-spacing:-.6px;margin:0;font-size:clamp(22px,6.2vw,30px)}.form-stack{flex-direction:column;gap:16px;padding:28px 24px 48px;display:flex}.field-label,.day-fieldset legend{margin-top:12px;font-size:19px;font-weight:750}.field-label span{color:var(--muted);margin-top:4px;font-size:14px;font-weight:550;display:block}.time-input,.text-input{border-radius:var(--radius);width:100%;min-height:70px;color:var(--navy);background:#fff;border:2px solid #b9c7cc;padding:10px 18px}.time-input{font-variant-numeric:tabular-nums;font-size:38px;font-weight:750}.text-input{font-size:20px}.time-input:focus,.text-input:focus{border-color:var(--teal)}.day-fieldset{border:0;min-width:0;margin:10px 0 0;padding:0}.day-grid{grid-template-columns:repeat(7,1fr);gap:7px;margin-top:14px;display:grid}.day{border:2px solid var(--teal);cursor:pointer;background:#fff;border-radius:9px;min-width:0;min-height:58px;padding:4px 2px;font-size:17px;font-weight:700}.day.selected{background:var(--teal);color:#fff}.toggle-row{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;min-height:76px;margin:10px 0;padding:14px 18px;font-size:19px;font-weight:650;display:flex}.toggle-row input{width:54px;height:30px;accent-color:var(--teal)}.field-error{color:var(--danger);font-size:17px;font-weight:650;line-height:1.45}.onboarding-page{padding:max(28px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:22px;display:flex}.onboarding-brand{flex-direction:column;align-items:center;gap:4px;display:flex}.onboarding-brand h1{letter-spacing:-1.5px;margin:0;font-size:40px}.onboarding-section h2,.notification-card h2{margin:0;font-size:28px;line-height:1.2}.onboarding-section>p,.notification-card p{color:#263858;font-size:18px;line-height:1.5}.notification-card{background:#f7fbfa;border:1px solid #bcd7d2;border-radius:18px;grid-template-columns:62px 1fr;gap:12px 16px;padding:22px;display:grid}.notification-card .primary-button,.notification-card .text-button,.notification-card .field-error{grid-column:1/-1}.notification-icon{border:2px solid var(--teal);width:58px;height:58px;color:var(--teal);border-radius:50%;place-items:center;display:grid}.steps{border:1px solid var(--line);border-radius:var(--radius);margin:20px 0 24px;padding:0;list-style:none;overflow:hidden}.steps li{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-height:82px;padding:12px 16px;display:flex}.steps li:last-child{border-bottom:0}.steps strong{background:var(--teal);color:#fff;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.steps span{flex-direction:column;gap:3px;display:flex}.steps b{font-size:19px}.steps small{color:var(--muted);font-size:15px}.reliability-note{color:var(--muted);text-align:center;margin:0;font-size:14px;line-height:1.45}.settings-page section,.legal-page article{border-top:1px solid var(--line);padding:24px}.settings-page section{flex-direction:column;gap:14px;display:flex}.settings-page section h2{margin:0 0 6px;font-size:22px}.notification-enabled{background:var(--mint);color:var(--teal-dark);border:1px solid #8bc5b8;border-radius:12px;margin:0;padding:14px 16px;font-size:18px;font-weight:800}.settings-hint{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.settings-hint.warning{color:#78550b}.settings-notice{margin:0}.notification-card .notification-enabled,.notification-card .settings-hint{grid-column:1/-1}.legal-page article h1{font-size:36px}.legal-page article h2{margin-top:34px;font-size:24px}.legal-page article p{color:#243651;font-size:18px;line-height:1.72}.modal-backdrop{z-index:10;background:#0a205080;place-items:end center;padding:20px;display:grid;position:fixed;inset:0}.action-modal{background:#fff;border-radius:22px;width:min(100%,520px);padding:26px;box-shadow:0 24px 70px #0a205047}.action-modal h2{margin:0;font-size:30px}.action-modal p{font-size:18px}.confirm-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.snooze-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.snooze-grid button,.row-actions button{border:1px solid var(--teal);min-height:52px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:10px;font-weight:700}.admin-login{width:min(100%,460px);margin:0 auto}.admin-page{max-width:1120px;margin:0 auto;padding:0 24px 60px}.admin-page>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:84px;display:flex}.admin-summary{grid-template-columns:160px minmax(220px,1fr) minmax(250px,auto);gap:16px;padding:24px 0;display:grid}.admin-summary>div{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;justify-content:center;gap:5px;min-height:104px;padding:18px;display:flex}.admin-summary span,.admin-summary small{color:var(--muted)}.admin-summary strong{font-size:22px}.admin-summary-actions{grid-template-columns:1fr;gap:8px!important;display:grid!important}.admin-summary-actions button{border:1px solid var(--teal);min-height:42px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:10px;font-weight:750}.admin-summary-actions .primary-button{color:#fff;background:var(--teal)}.admin-notice,.sync-warning{color:var(--teal-dark);background:#e9f8f4;border-radius:12px;padding:13px 16px}.sync-warning{color:#78550b;background:#fff4dc}.admin-create{grid-template-columns:minmax(220px,.65fr) 1.35fr;align-items:end;gap:26px;padding:26px 0 22px;display:grid}.admin-create h1{margin:0;font-size:36px}.admin-create p{color:var(--muted);margin-bottom:0;line-height:1.5}.admin-create-grid{grid-template-columns:1fr 160px;gap:10px;display:grid}.admin-create-grid input:first-child,.admin-create-grid input:nth-child(3){grid-column:1/-1}.pharmacy-list{border-top:1px solid var(--line)}.pharmacy-row{border-bottom:1px solid var(--line);grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px 0;display:grid}.pharmacy-row.is-inactive{opacity:.68}.pharmacy-row h2{margin:0 0 8px}.pharmacy-qr-preview{border:1px solid var(--line);width:132px;height:132px;color:var(--muted);background:#fff;border-radius:16px;place-items:center;display:grid}.pharmacy-qr-preview img{width:116px;height:116px}.pharmacy-heading{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.pharmacy-heading .status{margin:0}.pharmacy-details>p{color:var(--muted);margin:2px 0 7px}.pharmacy-details>a{text-overflow:ellipsis;white-space:nowrap;max-width:620px;display:block;overflow:hidden}.pharmacy-details>small{color:var(--muted);margin-top:8px;display:block}.status{color:var(--danger);font-weight:750}.status.active{color:var(--teal-dark)}.row-actions{grid-template-columns:repeat(2,120px);align-content:center;gap:8px;display:grid}.print-sheet{border:1px solid var(--line);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:210mm;min-height:297mm;margin:40px auto 0;padding:24mm;display:flex}.print-sheet>p:first-child{font-size:24px}.print-sheet h2{margin:0;font-size:52px}.print-sheet h3{margin:0;font-size:28px}.print-sheet img{width:118mm;height:118mm}@media (width<=520px){.home-header{padding-inline:18px}.brand span{font-size:29px}.reminder-row{grid-template-columns:40px minmax(100px,1fr) minmax(62px,auto) 14px;gap:7px;padding-inline:18px}.reminder-check{width:36px;height:36px;font-size:23px}.reminder-label{font-size:19px}.day-grid{gap:4px}.day{min-height:54px;font-size:15px}.snooze-grid,.admin-summary,.admin-create,.pharmacy-row{grid-template-columns:1fr}.admin-summary{gap:10px}.admin-create-grid{grid-template-columns:1fr}.admin-create-grid input:first-child,.admin-create-grid input:nth-child(3){grid-column:auto}.pharmacy-qr-preview{justify-self:center}.row-actions{grid-template-columns:repeat(2,1fr)}}@media (width>=760px){body{background:#f1f7f6}.page{border:1px solid #dce8e7;border-radius:26px;min-height:calc(100dvh - 56px);margin-block:28px;overflow:hidden;box-shadow:0 18px 60px #0e3f4914}}@media (prefers-reduced-motion:no-preference){button{transition:background-color .16s,border-color .16s,transform .16s}button:active{transform:scale(.985)}}@media print{body *{visibility:hidden}.print-sheet,.print-sheet *{visibility:visible}.print-sheet{border:0;width:210mm;height:297mm;margin:0;position:absolute;inset:0}.no-print{display:none!important}}
