*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}:root{--page-width: min(92vw, 80rem);--yellow-20: oklch(.2 .06 95);--yellow-40: oklch(.4 .12 95);--yellow-80: oklch(.88 .14 95);--yellow-87: oklch(.87 .36 95);--yellow-90: oklch(.9 .4 95);--yellow-95: oklch(.95 .06 95);--blue-50: oklch(.5 .22 249);--blue-94: oklch(.94 .06 249);--gray-10: oklch(.1 0 0);--gray-30: oklch(.3 0 0);--gray-50: oklch(.5 0 0);--gray-70: oklch(.7 0 0);--gray-90: oklch(.9 0 0);--gray-97: oklch(.97 0 0);--gray-98: oklch(.98 0 0);--color-action: var(--yellow-87);--color-action-hover: oklch(.82 .34 95);--color-action-text: var(--color-contrast);--color-brand-bg: var(--yellow-90);--color-page-bg: var(--gray-98);--color-surface-tinted: oklch(.97 .04 95);--color-surface-raised: oklch(1 0 0);--color-contrast: oklch(.22 .04 60);--color-text-primary: oklch(.22 .04 60);--color-text-muted: var(--gray-50);--color-link: oklch(.42 .1 55);--color-link-hover: oklch(.3 .1 55);--color-error: oklch(.4 .15 25);--color-focus-ring: var(--yellow-87);--color-danger: oklch(.55 .22 25);--color-danger-focus-ring: var(--color-danger);--color-well-bg: var(--blue-50);--color-well-text: oklch(1 0 0);--color-well-bg-light: var(--blue-94);--font-display: "Coiny", system-ui, sans-serif;--font-sans: "Inter", system-ui, sans-serif;--text-hero: clamp(3rem, 12.5vw, 8rem);--text-display: 3rem;--text-h1: 2.25rem;--text-h2: 1.75rem;--text-xl: 1.5rem;--text-h3: 1.25rem;--text-lg: 1.125rem;--text-base: 1rem;--text-sm: .875rem;--text-xs: .75rem;--text-2xs: .65rem;--text-3xs: .5625rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.5rem;--space-10: 3rem}@font-face{font-family:Coiny;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/coiny-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light}body{font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-page-bg);text-wrap:pretty}button,h1,h2,h3,h4,h5,h6{text-wrap:balance}h1,h2{font-family:var(--font-display);color:var(--color-contrast)}h1{font-size:var(--text-h1);line-height:1.15}h2{font-size:var(--text-h2);line-height:1.2}h3,h4,h5,h6{font-family:var(--font-sans);line-height:1.2}h3{font-size:var(--text-h3);font-weight:700;line-height:1.25}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}main{width:var(--page-width);margin:0 auto;padding:2rem 1.5rem}.icon-pill{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:16px;border-radius:99px;background:var(--color-action);color:var(--color-contrast);transform:rotate(var(--pill-angle, 0deg))}.icon-pill>svg{transform:rotate(calc(var(--pill-angle, 0deg) * -1))}.well{background:var(--color-well-bg);color:var(--color-well-text);border-radius:8px;padding:var(--space-5) var(--space-6)}.legal{max-width:65ch}.legal h1{margin-bottom:var(--space-6)}.legal p+p,.legal ul+p,.legal p+ul{margin-top:var(--space-6)}.legal ul{padding-left:var(--space-6)}.legal li+li{margin-top:var(--space-2)}.print-only{display:none}@media print{.print-only{display:revert}.screen-only{display:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{padding:.6875rem 1.625rem;border-radius:8px;font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;letter-spacing:.02em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--button-shadow-rest);transition:background-color .08s ease-out,transform .08s ease-out,box-shadow .08s ease-out}.button:disabled{opacity:.6;cursor:not-allowed}.button:disabled:hover{transform:none;box-shadow:var(--button-shadow-rest)}.button[aria-disabled=true]{cursor:not-allowed}.button-primary[aria-disabled=true]:hover,.button-secondary[aria-disabled=true]:hover,.button-danger[aria-disabled=true]:hover{transform:translateY(2px);box-shadow:var(--button-shadow-partial)}.button-primary{--button-press-depth: 4px;--button-partial-press: 2px;--button-shadow-rest: inset 0 2px 0 oklch(.97 .22 95 / .9), 0 6px 0 oklch(.48 .32 95), 0 8px 12px oklch(.62 .34 95 / .35);--button-shadow-partial: inset 0 2px 0 oklch(.97 .22 95 / .9), 0 4px 0 oklch(.48 .32 95), 0 5px 8px oklch(.62 .34 95 / .27);--button-shadow-pressed: inset 0 2px 0 oklch(.97 .22 95 / .9), 0 2px 0 oklch(.48 .32 95), 0 2px 4px oklch(.62 .34 95 / .2);background-color:var(--color-action);color:var(--color-action-text);border:1px solid oklch(.55 .32 95)}.button-primary:hover{background-color:var(--color-action-hover);color:var(--color-action-text);transform:translateY(var(--button-press-depth));box-shadow:inset 0 2px #fff6d1e6,0 2px #6f5c00,0 2px 4px #9e840033;box-shadow:inset 0 2px oklch(.97 .22 95 / .9),0 2px oklch(.48 .32 95),0 2px 4px oklch(.62 .34 95 / .2)}.button-primary:focus-visible{outline:2px solid var(--color-contrast);outline-offset:2px}.button-primary[aria-disabled=true]:hover{background-color:var(--color-action-hover)}.button-secondary{--button-shadow-rest: inset 0 2px 0 oklch(1 0 0 / .8), 0 6px 0 oklch(.28 .22 249), 0 8px 12px oklch(.5 .22 249 / .2);--button-shadow-partial: inset 0 2px 0 oklch(1 0 0 / .8), 0 4px 0 oklch(.28 .22 249), 0 5px 8px oklch(.5 .22 249 / .15);--button-shadow-pressed: inset 0 2px 0 oklch(1 0 0 / .8), 0 2px 0 oklch(.28 .22 249), 0 2px 4px oklch(.5 .22 249 / .1);background-color:transparent;color:var(--blue-50);border:1px solid oklch(.45 .2 249)}.button-secondary:hover{background-color:var(--blue-94);color:var(--blue-50);transform:translateY(4px);box-shadow:inset 0 2px #fffc,0 2px #002a4d,0 2px 4px #0066ad1a;box-shadow:inset 0 2px #fffc,0 2px oklch(.28 .22 249),0 2px 4px oklch(.5 .22 249 / .1)}.button-secondary:focus-visible{outline:2px solid var(--blue-50);outline-offset:2px}.button-secondary[aria-disabled=true]:hover{background-color:var(--blue-94)}.button-danger{--button-shadow-rest: inset 0 2px 0 oklch(.85 .15 25 / .6), 0 6px 0 oklch(.25 .22 25), 0 8px 12px oklch(.55 .22 25 / .3);--button-shadow-partial: inset 0 2px 0 oklch(.85 .15 25 / .6), 0 4px 0 oklch(.25 .22 25), 0 5px 8px oklch(.55 .22 25 / .2);--button-shadow-pressed: inset 0 2px 0 oklch(.85 .15 25 / .6), 0 2px 0 oklch(.25 .22 25), 0 2px 4px oklch(.55 .22 25 / .15);background-color:var(--color-danger);color:#fff;border:1px solid oklch(.35 .22 25)}.button-danger:hover{background-color:#b1001b;background-color:oklch(.48 .22 25);transform:translateY(4px);box-shadow:inset 0 2px #ffbab399,0 2px #490002,0 2px 4px #d4092426;box-shadow:inset 0 2px oklch(.85 .15 25 / .6),0 2px oklch(.25 .22 25),0 2px 4px #d4092426}.button-danger:focus-visible{outline:2px solid var(--color-danger-focus-ring);outline-offset:2px}.button-danger[aria-disabled=true]:hover{background-color:#b1001b;background-color:oklch(.48 .22 25)}.button-sm{padding:.3125rem .75rem;font-size:var(--text-sm);border-radius:6px}.button-icon{--button-shadow-rest: inset 0 2px 0 oklch(.97 .22 95 / .9), 0 6px 0 oklch(.48 .32 95), 0 8px 10px oklch(.62 .34 95 / .3);--button-shadow-partial: inset 0 2px 0 oklch(.97 .22 95 / .9), 0 4px 0 oklch(.48 .32 95), 0 5px 6px oklch(.62 .34 95 / .22);width:48px;height:48px;padding:0;background-color:var(--color-action);color:var(--color-action-text);border:1px solid oklch(.55 .32 95);border-radius:10px}.button-icon:hover{background-color:var(--color-action-hover);transform:translateY(4px);box-shadow:inset 0 2px #fff6d1e6,0 2px #6f5c00,0 2px 4px #9e840026;box-shadow:inset 0 2px oklch(.97 .22 95 / .9),0 2px oklch(.48 .32 95),0 2px 4px oklch(.62 .34 95 / .15)}.button-icon:focus-visible{outline:2px solid var(--color-contrast);outline-offset:2px}.button-icon[aria-disabled=true]{opacity:.75}.button-icon[aria-disabled=true]:hover{background-color:var(--color-action-hover);transform:none;box-shadow:var(--button-shadow-rest)}.button-secondary-icon{background-color:transparent;border-color:#005896;border-color:oklch(.45 .2 249);color:var(--blue-50);box-shadow:inset 0 2px #fffc,0 6px #002a4d,0 8px 12px #0066ad33;box-shadow:inset 0 2px #fffc,0 6px oklch(.28 .22 249),0 8px 12px oklch(.5 .22 249 / .2)}.button-secondary-icon:hover{background-color:var(--blue-94);box-shadow:inset 0 2px #fffc,0 2px #002a4d,0 2px 4px #0066ad1a;box-shadow:inset 0 2px #fffc,0 2px oklch(.28 .22 249),0 2px 4px oklch(.5 .22 249 / .1)}.button-secondary-icon:disabled:hover{box-shadow:inset 0 2px #fffc,0 6px #002a4d,0 8px 12px #0066ad33;box-shadow:inset 0 2px #fffc,0 6px oklch(.28 .22 249),0 8px 12px oklch(.5 .22 249 / .2)}@keyframes button-blocked-press{0%{transform:translateY(2px);box-shadow:var(--button-shadow-partial)}25%{transform:translateY(var(--button-press-depth, 4px));box-shadow:var(--button-shadow-pressed)}to{transform:translateY(2px);box-shadow:var(--button-shadow-partial)}}.button--blocked{animation:button-blocked-press .3s ease-out}@media(prefers-reduced-motion:reduce){.button--blocked{animation:none}}.button-tooltip-wrapper{position:relative;display:block}@keyframes button-tooltip-appear{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.button-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#281606;color:#fff;padding:6px 12px;border-radius:6px;font-size:var(--text-sm);font-weight:500;white-space:nowrap;pointer-events:none;z-index:10;animation:button-tooltip-appear .15s ease-out}.button-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#281606}@media(prefers-reduced-motion:reduce){.button-tooltip{animation:none}}.button-leading-icon,.button-trailing-icon{gap:10px}.button-trailing-icon:before{content:"";width:18px;flex-shrink:0}.button-full{width:100%}.home h1{margin-block-end:.25rem}.home .week-range{margin-block-start:0;margin-block-end:1rem}.home .week-nav{display:flex;gap:.75rem;margin-block-start:1rem}.home section{margin-block-end:1.5rem}.home ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:1.25rem}.home ul li label{display:flex;align-items:center;gap:.75rem}.home ul li label input[type=checkbox]{flex-shrink:0}.home .dose-time{font-variant-numeric:tabular-nums;margin:0 0 .25rem}.home ul ul{padding-inline-start:1.5rem;margin-block-start:0;gap:.5rem}.fill-session{display:grid;grid-template-columns:1fr auto;align-content:start}.fill-session-header{grid-column:1;grid-row:1}.fill-session-header h1,.fill-session-date-range{margin:0}.fill-session-actions{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:.75rem;align-self:start;padding-inline-start:1.5rem}.fill-session-wrap-warning,.fill-session-controls,.fill-session-cards,.fill-session>p{grid-column:1 / -1}@media(max-width:640px){.fill-session{grid-template-columns:1fr}.fill-session-actions{grid-column:1;grid-row:auto;flex-direction:column;padding-inline-start:0;margin-block-start:1rem}.fill-session-actions .button{width:100%;justify-content:center}}.fill-session-wrap-warning{display:flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--yellow-20, #92400e);background:var(--yellow-95, #fefce8);border:1px solid var(--yellow-80, #fde68a);border-radius:6px;padding:.5rem .75rem;margin-block-end:1rem;max-width:40rem}.fill-session-date-picker{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-block-start:0;margin-block-end:0;padding-block-end:1rem}.fill-session-date-picker-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--gray-30)}.fill-session-date-picker-row{display:flex;align-items:center;gap:.5rem}.fill-session-date-picker-row .button-icon{width:2.25rem;height:2.25rem}.fill-session-date-picker-row input[type=date]{height:2.25rem;box-sizing:border-box;font-size:var(--text-base);border:1px solid var(--gray-70);border-radius:4px;padding-inline:.5rem;color:var(--gray-10);background:transparent}.fill-session-controls{margin-block-end:1.5rem}.fill-session-controls select{font-size:var(--text-base);padding:.375rem .75rem;border:1px solid var(--gray-70);border-radius:4px;background-color:transparent;color:var(--gray-10);cursor:pointer}.fill-session-cards{display:flex;flex-direction:column;gap:1.25rem;margin-block-end:1rem;max-width:40rem}.fill-session-card{border:1px solid var(--gray-90);border-radius:10px;overflow:hidden;break-inside:avoid}.fill-session-card-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--yellow-95);border:none;border-bottom:1px solid transparent;border-radius:0;flex-wrap:wrap;width:100%;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit}.fill-session-card-header--open{border-bottom-color:var(--gray-90)}.fill-session-card-drug-name{font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;color:var(--gray-10)}.fill-session-card-drug-dosage{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--gray-50)}.fill-session-card-drug-total{font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;color:var(--gray-10);margin-inline-start:auto}.fill-session-card-caret{font-size:var(--text-xs);color:var(--gray-50);display:inline-block;flex-shrink:0}.fill-session-card-header--open .fill-session-card-caret{transform:rotate(180deg)}.fill-session-card-grid{display:grid;grid-template-columns:5rem repeat(var(--day-count, 7),1fr);gap:.3rem;padding:.75rem}.fill-session-card-corner{grid-column:1;grid-row:1}.fill-session-card-day-header{grid-column:calc(var(--day-idx, 0) + 2);grid-row:1;display:grid;align-content:center;text-align:center;font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-50);padding-block-end:.25rem}.fill-session-card-day-header--wrapped{color:var(--yellow-20, #92400e)}.fill-session-card-wrap-icon{font-size:var(--text-3xs);display:block}.fill-session-card-day-date{display:block;font-size:var(--text-3xs);font-weight:400;text-transform:none;letter-spacing:0;color:var(--gray-50)}.fill-session-card-day-header--wrapped .fill-session-card-day-date{color:inherit}.fill-session-card-slot-label{grid-column:1;grid-row:calc(var(--comp-idx, 0) + 2);display:flex;flex-direction:column;justify-content:center;padding-inline-end:.5rem;padding-block:.25rem}.fill-session-card-slot-name{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;color:var(--gray-30);text-transform:uppercase;letter-spacing:.04em}.fill-session-card-slot-time{font-family:var(--font-sans);font-size:var(--text-2xs);color:var(--gray-70);margin-block-start:.125rem}.fill-session-card-cell{grid-column:calc(var(--day-idx, 0) + 2);grid-row:calc(var(--comp-idx, 0) + 2);justify-self:center;align-self:center;width:2.5rem;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--gray-70);border-radius:6px}.fill-session-card-cell--empty{border-style:dashed;border-color:var(--gray-90)}.fill-session-card-cell-count{font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;font-variant-numeric:tabular-nums;color:var(--gray-10)}.fill-session-card-grid--hidden{display:none}@media print{.fill-session-card-grid--hidden{display:grid}}@media(max-width:640px){.fill-session-card-grid{grid-template-columns:5rem repeat(var(--comp-count, 1),1fr)}.fill-session-card-day-header{grid-column:1;grid-row:calc(var(--day-idx, 0) + 2);text-align:left;padding-block-end:0;padding-block:.25rem}.fill-session-card-slot-label{grid-column:calc(var(--comp-idx, 0) + 2);grid-row:1;align-items:center;padding-inline-end:0;padding-inline-start:.25rem}.fill-session-card-slot-time{display:none}.fill-session-card-cell{grid-column:calc(var(--comp-idx, 0) + 2);grid-row:calc(var(--day-idx, 0) + 2)}}.bottom-nav{display:none}@media(max-width:640px){.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;border-top:1.5px solid var(--gray-90);display:flex;justify-content:space-around;align-items:stretch;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}body:has(.bottom-nav) main{padding-bottom:4.5rem}}.bottom-nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--gray-50);text-decoration:none;font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:500;letter-spacing:.01em}.bottom-nav-tab-icon{display:flex;align-items:center;justify-content:center;width:48px;height:28px;border-radius:9999px;transition:background .15s ease}.bottom-nav-tab--active .bottom-nav-tab-icon{background:var(--yellow-87)}.bottom-nav-tab--active{color:var(--yellow-20)}.footer{position:relative;border-top:1px solid var(--gray-70)}.footer-inner{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.5rem;width:var(--page-width);margin:0 auto}.footer-legal{display:flex;gap:1.5rem}.footer-legal .footer-eyebrow{display:none}.footer-eyebrow{font-size:var(--text-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-family:var(--font-sans);cursor:default}.footer a{color:var(--gray-30);font-family:var(--font-sans);font-size:var(--text-sm);text-decoration:none}.footer a:hover{text-decoration:underline}.footer-language{position:absolute;top:0;bottom:0;right:calc((100% - min(92vw,80rem))/2 + 1.5rem);display:flex;align-items:center}.footer-language-inner{display:flex;align-items:center;gap:.5rem}.footer-language .footer-eyebrow{display:block;font-size:var(--text-sm);font-weight:400;letter-spacing:normal;text-transform:none;color:var(--gray-30)}.footer-language select{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--gray-30);background:transparent;border:1px solid var(--gray-70);border-radius:4px;padding:.25rem .375rem;cursor:pointer}@media(max-width:640px){.footer-inner{flex-direction:column;align-items:flex-start;padding-bottom:1rem}.footer-legal{flex-direction:column;gap:.4rem}.footer-legal .footer-eyebrow{display:block;margin-bottom:.2rem}.footer-language{position:static;display:block;width:100%;background-color:var(--gray-90)}.footer-language-inner{flex-direction:column;align-items:flex-start;gap:.4rem;padding:.875rem 1.5rem;width:var(--page-width);margin:0 auto}.footer-language .footer-eyebrow{display:block;font-size:var(--text-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.2rem}.footer-language select{background:#fff}}.header{background-color:var(--color-brand-bg);border-bottom:2px solid var(--color-action)}.header-inner{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;width:var(--page-width);margin:0 auto}.header-brand{font-size:var(--text-h2);font-family:var(--font-display);color:var(--color-contrast);text-decoration:none}.header-nav{display:flex;gap:1rem;align-items:center;margin-left:auto}.header-nav a{color:var(--color-contrast);font-family:var(--font-sans);font-size:var(--text-sm);text-decoration:none}.header-nav a:hover{text-decoration:underline}.header-logout{background:none;border:none;cursor:pointer;color:var(--color-contrast);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:inherit;letter-spacing:inherit;padding:0}.header-logout:hover{text-decoration:underline}.header-login{margin-left:auto}@media(max-width:640px){.header-nav{display:none}}.layout{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh}.login{max-width:24rem}.login h1{margin-top:0}.login form{margin-top:1.25rem;background:#fff;border:1px solid var(--gray-90);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.login label{display:flex;flex-direction:column;gap:.25rem;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600}.login input[type=email]{width:100%;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-base);font-weight:400}.login input[type=email]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.login form button[type=submit]{align-self:flex-start}.login [role=alert]{color:var(--color-error);font-family:var(--font-sans);font-size:var(--text-sm)}.login p{margin-top:.875rem;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--gray-30)}.prescriptions{width:100%;max-width:56rem}.prescriptions-layout{display:flex;gap:2rem;align-items:flex-start}.prescriptions-list-panel{flex:0 0 16rem;display:flex;flex-direction:column;gap:var(--space-2)}.prescriptions-form-panel{flex:1;min-width:0;max-width:36rem}.prescriptions-list-panel h1{font-size:var(--text-h3);margin:0;padding-left:var(--space-3)}.prescriptions-add-btn{margin-top:var(--space-3)}.prescription-list{list-style:none;margin:0;padding:0}ul.prescription-list{display:flex;flex-direction:column;gap:var(--space-2)}.prescription-item{border-radius:4px;transition:background-color .1s}.prescription-item:not(.prescription-item--selected):hover{background-color:var(--color-well-bg-light)}.prescription-item--selected{background-color:var(--color-well-bg)}.prescription-item--selected .prescription-item__link{color:var(--color-well-text)}.prescription-item--selected .prescription-item__schedule,.prescription-item--selected .prescription-item__chevron{color:inherit}.prescription-item__link{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);text-decoration:none;color:inherit;border-radius:3px}.prescription-item__link:focus-visible{outline:2px solid var(--gray-30);outline-offset:2px}.prescription-item__drug{grid-column:1;grid-row:1;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prescription-item__schedule{grid-column:1;grid-row:2;font-size:var(--text-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prescription-item__chevron{grid-column:2;grid-row:1 / 3;color:var(--color-text-muted);flex-shrink:0}.prescriptions-back-btn{display:none}.prescriptions-form-panel section{margin-bottom:0}.prescriptions section{margin-bottom:2.5rem}.prescriptions h2{margin-bottom:1.25rem}.prescriptions form{display:flex;flex-direction:column;gap:.875rem}.prescriptions .field{display:flex;flex-direction:column;gap:.25rem}.prescriptions .drug-info-row{display:flex;gap:1.25rem;align-items:flex-start}.prescriptions .drug-info-row .field{flex:1}.prescriptions .drug-info-row .dose-count-field{flex:0 0 auto}.prescriptions .drug-info-row .drug-name-field{flex:2}.prescriptions .drug-info-row .drug-form-field{flex:0 0 auto}.prescriptions .drug-info-row .drug-form-field select{width:100%;height:42px;padding:0 .375rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-sm);background-color:#fff;cursor:pointer}.prescriptions .drug-info-row .drug-dosage-field{flex:1.5}.prescriptions .count-form-row{display:flex;gap:.375rem}.prescriptions .count-form-row input{width:4rem;flex-shrink:0}.prescriptions .count-form-row select{height:42px;min-width:7rem;padding:0 .375rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-sm);background-color:#fff;cursor:pointer}.prescriptions .dosage-input-row{display:flex;gap:.375rem}.prescriptions .dosage-input-row input{flex:1;min-width:0}.prescriptions .dosage-input-row select{height:42px;width:5rem;flex-shrink:0;padding:0 .375rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-sm);background-color:#fff;cursor:pointer}.prescriptions .dosage-unit-warning{text-align:right}.prescriptions .dosage-fix-link{background:none;border:none;padding:0;font:inherit;color:var(--color-link);text-decoration:underline;cursor:pointer}.prescriptions .dosage-fix-link:hover{color:var(--color-link-hover)}.prescriptions .field-hint{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--gray-30, #555);margin:.125rem 0 0}.prescriptions .date-fields{display:flex;gap:1.25rem}.prescriptions .date-fields .field{flex:1}@media(max-width:480px){.prescriptions .date-fields,.prescriptions .drug-info-row{flex-direction:column}}.prescriptions label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600}.prescriptions input{height:42px;padding:.5rem .75rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-base);width:100%}.prescriptions input:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.prescriptions form [role=alert]{color:var(--color-error);font-family:var(--font-sans);font-size:var(--text-sm)}.prescriptions .form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;position:sticky;bottom:0;background:var(--color-page-bg);padding:.75rem 0;border-top:1px solid var(--gray-90);z-index:1;box-shadow:none;transition:box-shadow .15s ease-out}.prescriptions .field--error>input,.prescriptions .field--error>.dosage-input-row>input{outline:2px solid var(--color-error);outline-offset:1px}.prescriptions .day-pills-row--error{outline:2px solid var(--color-error);outline-offset:4px;border-radius:4px}.prescriptions .prescription-list{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:var(--text-base)}.prescriptions-form-panel .prescription-list{table-layout:fixed}.prescriptions-form-panel .prescription-list .col-time{width:10rem}.prescriptions-form-panel .prescription-list .col-dose{width:auto}.prescriptions .dose-cell{display:flex;align-items:center;gap:.5rem}.prescriptions-form-panel .prescription-list .col-remove{width:3rem}.prescriptions .prescription-list th{text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--gray-30);padding:.375rem .75rem .375rem 0;border-bottom:1px solid var(--gray-90)}.prescriptions .prescription-list td{padding:.625rem .75rem .625rem 0;border-bottom:1px solid var(--gray-90);vertical-align:top}.prescriptions .prescription-list+button{margin-top:1rem}.prescriptions .prescription-list td:last-child{gap:.5rem;align-items:center}.prescriptions .toggle-all-link{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:400;color:var(--color-link);text-decoration:underline;cursor:pointer}.prescriptions .toggle-all-link:hover{color:var(--color-link-hover)}.prescriptions .day-pills-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;padding-top:.25rem}.prescriptions .day-pill{display:flex;cursor:pointer}.prescriptions .day-pill span{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.4rem .125rem;border-radius:4px;border:1px solid var(--gray-70, #999);background-color:var(--gray-97);color:#2e2e2e;font-size:var(--text-xs);font-weight:500;-webkit-user-select:none;user-select:none;box-shadow:0 2px 3px #0000002e,0 1px 1px #0000001a;transition:background-color .1s,color .1s,border-color .1s,box-shadow .1s}.prescriptions .day-pill span:before{content:"✓";font-size:var(--text-xs);line-height:1;visibility:hidden}.prescriptions .day-pill:has(input:checked) span{background-color:var(--color-action);border-color:var(--color-action-hover);color:var(--color-action-text);box-shadow:inset 0 2px 3px #00000026}.prescriptions .day-pill:has(input:checked) span:before{visibility:visible}.prescriptions .day-pill:has(input:focus-visible) span{outline:2px solid var(--color-focus-ring);outline-offset:2px}.prescriptions input.visually-hidden{width:1px;height:1px;padding:0}.prescriptions .schedule-error-message{color:var(--color-error);font-family:var(--font-sans);font-size:var(--text-sm);margin-bottom:.75rem}.prescriptions .prescription-list input[type=time]{width:9rem;box-sizing:border-box;height:42px;font-variant-numeric:tabular-nums}.prescriptions .dose-time-qty-input{height:42px;width:4rem;box-sizing:border-box}.prescriptions .add-dose-time{margin-top:1.25rem;margin-bottom:.5rem}.prescriptions-select-prompt{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;color:var(--gray-30, #555);font-family:var(--font-sans);font-size:var(--text-lg);text-align:center}.prescriptions-select-prompt svg{width:3.5rem;height:3.5rem;opacity:.35}.prescriptions-select-prompt p{margin:0}@media(max-width:640px){.prescriptions .form-actions{bottom:calc(60px + env(safe-area-inset-bottom,0))}.prescriptions-layout{flex-direction:column;gap:0}.prescriptions-list-panel,.prescriptions-form-panel{width:100%}.prescriptions--mobile-list .prescriptions-form-panel,.prescriptions--mobile-form .prescriptions-list-panel{display:none}.prescriptions-back-btn{display:inline-block;background:none;border:none;padding:.5rem 0 .75rem;font-size:var(--text-sm);color:var(--color-link);text-decoration:underline;cursor:pointer}.prescriptions-back-btn:hover{color:var(--color-link-hover)}}.prescription-detail-schedule{margin-top:2rem}.schedule-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.schedule-heading h3{margin:0}.schedule-mode-toggle{display:inline-flex;border:1px solid var(--gray-70);border-radius:6px;overflow:hidden}.schedule-mode-btn{display:flex;align-items:center;padding:.2rem .75rem;background:transparent;color:var(--gray-10);border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm)}.schedule-mode-btn[aria-pressed=true]{background:var(--gray-10);color:#fff}.advanced-scheduling-hint{font-size:var(--text-sm);color:var(--gray-50);margin:0 0 .75rem}.date-range-row{display:flex;gap:1.5rem;margin-bottom:1.5rem}.date-range-row>div{display:flex;flex-direction:column;gap:.25rem;flex:1}.date-range-row label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600}.routine-block{background:var(--gray-97);border:1px solid var(--gray-70);border-radius:8px;padding:1rem}.routine-block+.routine-block{margin-top:.75rem}.routine-block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.routine-block-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--gray-30)}.register{width:100%;max-width:none;margin:0;padding:0;min-height:0;background-image:url(/pills.jpg);background-size:cover;background-position:center;display:flex;justify-content:flex-end;align-items:stretch}.register-hero-text{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:3rem;margin:0;font-family:var(--font-display);font-size:var(--text-hero);font-weight:400;line-height:1.1;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-x:clip}.register-hero-text span{display:inline-block;max-width:100%;background:#0000008c;color:#fff;padding:.08em .25em}.register-card{width:360px;flex-shrink:0;display:flex;flex-direction:column;padding:2rem 1.75rem 2.5rem;background:var(--color-surface-raised);border-left:1px solid var(--gray-90);overflow-y:auto}.register-card h2{margin-top:0;margin-bottom:0}.register-divider{width:36px;height:4px;background:var(--color-action);border-radius:99px;margin:.875rem 0}.register-intro{margin:0 0 1.5rem;font-family:var(--font-sans);color:var(--gray-30);line-height:1.6}.register-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.register-feature{display:flex;gap:.75rem;align-items:flex-start}.register-feature-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:16px;border-radius:99px;background:var(--color-action);color:var(--color-contrast);margin-top:2px}.register-features li:nth-child(1) .register-feature-icon{transform:rotate(-22deg)}.register-features li:nth-child(1) .register-feature-icon svg{transform:rotate(22deg)}.register-features li:nth-child(2) .register-feature-icon{transform:rotate(14deg)}.register-features li:nth-child(2) .register-feature-icon svg{transform:rotate(-14deg)}.register-features li:nth-child(3) .register-feature-icon{transform:rotate(-10deg)}.register-features li:nth-child(3) .register-feature-icon svg{transform:rotate(10deg)}.register-feature-copy{display:flex;flex-direction:column;gap:.15rem}.register-feature-title{font-family:var(--font-sans);font-weight:600;color:var(--color-contrast)}.register-feature-desc{font-family:var(--font-sans);color:var(--gray-50);line-height:1.45}.register-turnstile{width:300px;height:65px;overflow:hidden}.register-form-divider{height:1px;background:var(--gray-90);margin:1.5rem 0}.register-card form{display:flex;flex-direction:column;gap:.875rem}.register-login-link{margin-top:.875rem;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--gray-30)}.register .email-field{display:flex;flex-direction:column;gap:.25rem;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600}.register .email-field input[type=email]{width:100%;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-base);font-weight:400}.register .email-field input[type=email]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.register .terms-field{display:flex;flex-direction:row;gap:.5rem;align-items:flex-start}.register .terms-field input[type=checkbox]{flex-shrink:0;margin-top:.25em}.register .terms-field span{text-wrap:pretty}.register-card form button[type=submit]{width:100%}.register [role=alert]{color:var(--color-error);font-family:var(--font-sans);font-size:var(--text-sm)}@media(max-width:640px){.register{flex-direction:column;justify-content:flex-start;align-items:stretch;background-position:center top}.register-hero-text{flex:none;min-height:45vh;padding:2rem 1.5rem}.register-card{width:100%;border-left:none;border-top:none}.register-card form button[type=submit]{align-self:flex-start}}.finish-setup{max-width:24rem}.finish-setup [role=status]{font-family:var(--font-sans);color:var(--gray-50)}.finish-setup [role=alert]{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem;background:#fff;border:1px solid var(--gray-90);border-radius:8px;padding:1.5rem;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-error)}.finish-setup [role=alert] pre{margin:0;white-space:pre-wrap;overflow-wrap:break-word}.settings{max-width:24rem}.settings h1{margin-top:0}.settings form{margin-top:1.25rem;background:#fff;border:1px solid var(--gray-90);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.settings .field{display:flex;flex-direction:column;gap:.25rem}.settings label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600}.settings select{width:100%;height:42px;padding:0 .375rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-base);background-color:#fff;cursor:pointer}.settings select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.settings form button[type=submit]{align-self:flex-start}.settings [role=alert]{color:var(--color-error);font-family:var(--font-sans);font-size:var(--text-sm)}.settings-logout{margin-top:1.5rem}.enter-code{max-width:24rem}.enter-code h1{margin-top:0}.enter-code-intro{margin-top:.5rem;margin-bottom:0;font-family:var(--font-sans);font-size:var(--text-base);color:var(--gray-30)}.enter-code form{margin-top:1.25rem;background:#fff;border:1px solid var(--gray-90);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.enter-code label{display:flex;flex-direction:column;gap:.25rem;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600}.enter-code input[type=text]{width:100%;padding:.625rem .75rem;border:1px solid var(--gray-50);border-radius:4px;font-size:var(--text-xl);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.3em;text-align:center}.enter-code input[type=text]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.enter-code [role=alert]{color:var(--color-error);font-family:var(--font-sans);font-size:var(--text-sm)}.prescription-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.prescription-detail-header h2{margin:0}.prescription-detail-actions{display:flex;align-items:center;gap:var(--space-2)}.button-danger-icon{background-color:#d40924;border-color:#760008;border-color:oklch(.35 .22 25);color:#fff;box-shadow:inset 0 2px #ffbab399,0 6px #490002,0 8px 10px #d409244d;box-shadow:inset 0 2px oklch(.85 .15 25 / .6),0 6px oklch(.25 .22 25),0 8px 10px #d409244d}.button-danger-icon:hover{background-color:#b1001b;background-color:oklch(.48 .22 25);box-shadow:inset 0 2px #ffbab399,0 2px #490002,0 2px 4px #d4092426;box-shadow:inset 0 2px oklch(.85 .15 25 / .6),0 2px oklch(.25 .22 25),0 2px 4px #d4092426}.prescription-detail-meta{display:grid;grid-template-columns:max-content 1fr;gap:.375rem 1.25rem;margin:0}.prescription-detail-meta dt{font-family:system-ui,sans-serif;font-size:var(--text-sm);font-weight:600}.prescription-detail-meta dd{margin:0}.prescription-detail-routine+.prescription-detail-routine{margin-top:1.5rem}.sg{max-width:var(--page-width);margin:0 auto;padding:0 var(--space-6) var(--space-10)}.sg-header{background:var(--color-brand-bg);padding:var(--space-8) var(--space-6);margin:0 calc(-1 * var(--space-6)) var(--space-10)}.sg-header h1{margin-bottom:var(--space-2)}.sg-header-sub{font-size:var(--text-sm);color:var(--color-action-text);opacity:.75;font-family:var(--font-sans)}.sg-nav{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-10);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-surface-tinted)}.sg-nav a{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--space-10);font-size:var(--text-sm);font-weight:600;color:var(--color-link);text-decoration:none;background:var(--color-surface-tinted);transition:background .1s}.sg-nav a:hover{background:var(--color-brand-bg);color:var(--color-action-text)}.sg-section{margin-bottom:var(--space-10)}.sg-section-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-5);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-surface-tinted)}.sg-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.sg-swatch{border-radius:6px;overflow:hidden;border:1px solid var(--color-surface-tinted)}.sg-swatch-block{height:72px}.sg-swatch-meta{padding:var(--space-2) var(--space-3);background:#fff}.sg-swatch-name{font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary)}.sg-swatch-token{font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:2px;font-family:SF Mono,Fira Code,monospace}.sg-swatch-value{font-size:var(--text-3xs);color:var(--color-text-muted);margin-top:1px;font-family:SF Mono,Fira Code,monospace}.sg-color-note{font-size:var(--text-sm);color:var(--color-text-muted)}.sg-type-stack{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-surface-tinted);border-radius:8px;overflow:hidden;margin-bottom:var(--space-4)}.sg-type-row{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-surface-tinted);background:#fff}.sg-type-row:last-child{border-bottom:none}.sg-type-meta{display:block;font-size:var(--text-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2)}.sg-type-hero{font-family:var(--font-display);font-size:var(--text-hero);font-weight:400;line-height:1.1;color:var(--color-contrast)}.sg-type-display{font-family:var(--font-display);font-size:var(--text-display);font-weight:400;line-height:1.1;color:var(--color-contrast)}.sg-type-xl{font-size:var(--text-xl);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.3em;color:var(--color-text-primary)}.sg-type-lg{font-size:var(--text-lg);font-weight:700;color:var(--color-contrast)}.sg-type-sm{font-size:var(--text-sm);color:var(--color-text-muted)}.sg-type-xs{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.sg-type-2xs{font-size:var(--text-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.sg-type-3xs{font-size:var(--text-3xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.sg-font-note{font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-3) var(--space-4);background:var(--color-surface-tinted);border-radius:4px}.sg-button-groups{display:flex;flex-direction:column;gap:var(--space-8)}.sg-button-group-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.sg-button-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.sg-button-note{font-size:var(--text-sm);color:var(--color-text-muted)}.sg-well-demos{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.sg-well-light{background:var(--color-well-bg-light);color:var(--color-text-primary);border-radius:8px;padding:var(--space-5) var(--space-6)}.sg-motif-row{display:flex;gap:var(--space-10);align-items:center;padding:var(--space-8) 0}.sg-icon-note{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.sg-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3)}.sg-icon-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);background:#fff;border:1px solid var(--color-surface-tinted);border-radius:6px}.sg-icon-glyph{color:var(--color-text-primary);display:flex;align-items:center}.sg-icon-name{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-align:center}.sg-spacing-note{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-5)}.sg-spacing-list{display:flex;flex-direction:column;gap:var(--space-3)}.sg-spacing-row{display:flex;align-items:center;gap:var(--space-5)}.sg-spacing-block{height:20px;background:var(--color-action);border-radius:2px;flex-shrink:0;min-width:4px}.sg-spacing-token{font-size:var(--text-sm);font-family:SF Mono,Fira Code,monospace;color:var(--color-link);min-width:90px;flex-shrink:0}.sg-spacing-values{font-size:var(--text-sm);color:var(--color-text-muted);font-family:SF Mono,Fira Code,monospace}@media(max-width:640px){.sg-header{padding:var(--space-6) var(--space-4)}.sg-palette{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.sg-type-hero,.sg-type-display{font-size:var(--text-h1)}}
