:root{color:#17201b;background:#f5f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{max-width:100%;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit;max-width:100%}button{touch-action:manipulation;border:0;min-height:48px}.shell{width:min(100%,760px);min-height:100vh;padding:max(34px, env(safe-area-inset-top)) 14px max(28px, env(safe-area-inset-bottom));margin:0 auto}.centerShell{align-items:center;display:grid}.homeShell{align-content:start;display:grid}.loginPanel{background:#fff;border:1px solid #d7ded4;border-radius:8px;gap:16px;width:100%;padding:20px;display:grid;box-shadow:0 8px 24px #17201b0f}.loginPanel label,.datePick{gap:6px;font-weight:800;display:grid}.loginPanel input,.datePick input,.dateTimeGrid input{background:#fbfcfa;border:1px solid #cbd4c8;border-radius:8px;width:100%;min-height:52px;padding:12px}.loading{place-items:center;font-weight:800;display:grid}.loadingMessage,.busyBanner{justify-content:center;align-items:center;gap:8px;display:inline-flex}.spinner{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.busyBanner{top:max(8px, env(safe-area-inset-top));z-index:8;color:#25352b;background:#fff;border:1px solid #b9c8b5;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-weight:900;position:sticky;box-shadow:0 8px 24px #17201b14}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 14px;display:flex}.screenHeader{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 0 14px;display:grid}.screenHeader h1{overflow-wrap:anywhere}.iconOnly{color:#25352b;background:#eef2ea;border-radius:8px;place-items:center;width:48px;min-width:48px;display:grid}.homeActions{gap:14px;padding-top:28px;display:grid}.ringLinkNotice{background:#fff;border:1px solid #cfd9ca;border-radius:8px;gap:4px;margin:8px 0 4px;padding:12px;display:grid}.ringLinkNotice strong{color:#17201b}.ringLinkNotice span{color:#4d5b51;overflow-wrap:anywhere}.ringLinkNotice.done{background:#effaf2;border-color:#2f8f5d}.ringLinkNotice.failed{background:#fff4f5;border-color:#f0b7bf}.homeActions button{color:#fff;text-align:left;background:#1f6b45;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:108px;padding:20px;display:grid}.homeActions span{overflow-wrap:anywhere;font-size:1.45rem;font-weight:900}.eyebrow{color:#5e6d62;text-transform:uppercase;margin:0 0 2px;font-size:.82rem;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:2rem}h2{align-items:center;gap:8px;margin-bottom:12px;font-size:1.2rem;display:flex}.progress{color:#fff;background:#143d2a;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:76px;padding:12px;display:flex}.tabs{z-index:5;background:#f5f7f2;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 14px;display:grid;position:sticky;top:0}.tabs button,.primaryAction{color:#17201b;background:#dfe7dd;border-radius:8px;font-weight:800}.tabs .active,.primaryAction{color:#fff;background:#1f6b45}.primaryAction{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.primaryAction:disabled{opacity:.55}.stack{gap:14px;display:grid}.timeBlock,.dayBlock{border-top:1px solid #d7ded4;padding:14px 0}.medCard,.mealRow,.appointmentCard,.careNote,.formPanel,.groceryRow{background:#fff;border:1px solid #d7ded4;border-radius:8px;box-shadow:0 8px 24px #17201b0f}.medCard{gap:10px;margin-bottom:10px;padding:12px;display:grid}.medCard.done,.groceryRow.done{background:#effaf2;border-color:#2f8f5d}.checkRow{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;display:grid}.checkRow input,.largeCheck input{accent-color:#1f6b45;width:34px;height:34px}.checkRow strong,.mealRow strong,.optionList strong{line-height:1.2;display:block}.checkRow small,.mealRow small{color:#5c665f;margin-top:4px;line-height:1.35;display:block}.iconActions{grid-template-columns:repeat(3,48px);justify-content:end;gap:8px;display:grid}.iconActions button,.mealRow button,.modal header button{color:#25352b;background:#eef2ea;border-radius:8px;place-items:center;display:grid}.noteLine{color:#38513f;margin-bottom:0;font-size:.95rem}.empty{color:#6b756e;margin-bottom:0}.errorText{color:#9f1f2d;margin-bottom:0;font-weight:800}.careNote{color:#314437;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px;line-height:1.35;display:grid}.formPanel{gap:10px;padding:12px;display:grid}.formPanel h2{margin-bottom:0}.quickActions,.splitActions{grid-template-columns:1fr;gap:10px;display:grid}.quickActions button,.splitActions button{color:#25352b;background:#eef2ea;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:900;display:flex}.actionMessage{border-radius:8px;padding:12px;font-weight:900;line-height:1.35}.actionMessage.success{color:#174229;background:#effaf2;border:1px solid #2f8f5d}.actionMessage.warning{color:#5a4208;background:#fff8dd;border:1px solid #e3b341}.actionMessage.error{color:#9f1f2d;background:#fff4f5;border:1px solid #f0b7bf}.groceryRow{gap:10px;margin-bottom:10px;padding:12px;display:grid}.mealRow{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:10px;padding:12px;display:grid}.mealRow .iconActions{grid-template-columns:repeat(2,48px)}.weekPlanner{gap:12px;display:grid}.plannerDay{border-top:1px solid #d7ded4}.emptyMealRow{box-shadow:none;background:#fbfcfa;border-style:dashed}.emptyMealRow strong{color:#6b756e}.mealEditRow{grid-template-columns:minmax(0,1fr) minmax(128px,36%) 48px;align-items:center}.mealEditRow select{color:#17201b;background:#fbfcfa;border:1px solid #cbd4c8;border-radius:8px;width:100%;min-height:48px;padding:10px;font-weight:800}.appointmentCard{gap:10px;padding:12px;display:grid}.appointmentCard small{color:#5c665f;font-weight:800;display:block}.appointmentCard strong{margin-top:4px;font-size:1.1rem;display:block}.appointmentCard p,.appointmentCard em{color:#4d5b51;align-items:center;gap:6px;margin:6px 0 0;display:flex}.mealRow p,.mealRow em{color:#4d5b51;margin:6px 0 0;line-height:1.35;display:block}.mealRow em,.optionList em{font-size:.88rem}.modalShade{z-index:20;background:#0e131070;align-items:end;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px 8px 0 0;width:min(100%,760px);max-height:88vh;margin:0 auto;padding:16px;overflow:auto}.modal header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.modal h2{margin:0}.modalActions{padding:12px 16px max(12px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d7ded4;grid-template-columns:1fr 1fr;gap:10px;margin:12px -16px -16px;display:grid;position:sticky;bottom:-16px}.modalActions button{color:#25352b;background:#eef2ea;border-radius:8px;font-weight:900}.form{gap:12px;display:grid}.form label{gap:6px;font-weight:800;display:grid}.form input[type=text],.form input[type=date],.form input[type=time],.form input:not([type]),.form textarea,.form select{background:#fbfcfa;border:1px solid #cbd4c8;border-radius:8px;width:100%;min-height:48px;padding:12px}.dateTimeGrid{grid-template-columns:1fr;gap:10px;display:grid}.form textarea{resize:vertical;min-height:110px}.largeCheck{grid-template-columns:44px 1fr;align-items:center}fieldset{border:0;grid-template-columns:1fr;gap:8px;margin:0;padding:0;display:grid}legend{grid-column:1/-1;margin-bottom:4px;font-weight:800}.pillCheck{background:#fbfcfa;border:1px solid #cbd4c8;border-radius:8px;grid-template-columns:26px minmax(0,1fr);align-items:center;min-height:48px;padding:8px;display:grid}.pillCheck input{width:20px;height:20px}.optionList{gap:10px;display:grid}.optionList button{color:#17201b;text-align:left;overflow-wrap:anywhere;background:#fbfcfa;border:1px solid #d7ded4;border-radius:8px;gap:6px;min-height:72px;padding:12px;display:grid}.optionList .selectedOption{background:#effaf2;border-color:#1f6b45}.optionList span{line-height:1.35}.boardShell{min-height:100vh;padding:max(34px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom));color:#f7fbf6;background:linear-gradient(#132018 0%,#0f1612 42%,#111814 100%)}.boardHeader{z-index:12;padding:max(34px, env(safe-area-inset-top)) 12px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111814f0;border-bottom:1px solid #263b2f;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;margin:-34px -12px 14px;display:grid;position:sticky;top:0}.boardHeader h1{overflow-wrap:anywhere;margin:0;font-size:clamp(1.55rem,8vw,4.8rem);line-height:1}.boardHeader .eyebrow{color:#a8c7b1}.boardHeader .iconOnly{color:#f7fbf6;background:#20352a}.boardStats{grid-template-columns:1fr;gap:10px;margin-bottom:14px;display:grid}.boardStats div,.boardPanel{background:#17231d;border:1px solid #2d4437;border-radius:8px;box-shadow:0 16px 48px #00000038}.boardStats div{padding:12px}.boardStats small,.boardItem span{color:#a8c7b1;text-transform:uppercase;font-size:.86rem;font-weight:900;display:block}.boardStats strong{overflow-wrap:anywhere;margin-top:4px;font-size:clamp(1.25rem,6vw,3rem);line-height:1.05;display:block}.boardStats .dangerStat{background:#32191d;border-color:#d84b5d}.boardGrid{grid-template-columns:1fr;gap:12px;display:grid}.boardPanel{min-width:0;padding:12px}.boardPanel h2{color:#f7fbf6;margin-bottom:10px;font-size:clamp(1.1rem,5vw,1.8rem)}.boardList{gap:10px;display:grid}.boardItem{background:#20352a;border-left:6px solid #6d8775;border-radius:8px;min-width:0;padding:11px 12px;position:relative}.dismissAlert{color:#ffe8ec;background:#ffffff1f;border-radius:8px;place-items:center;width:28px;min-width:28px;min-height:28px;display:grid;position:absolute;top:7px;right:7px}.dismissAlert:empty{display:none}.boardMore{color:#a8c7b1;margin:0;font-weight:900}.boardItem strong{overflow-wrap:anywhere;margin-top:5px;font-size:clamp(1rem,4.6vw,1.45rem);line-height:1.15;display:block}.boardItem em{color:#d5e4d8;overflow-wrap:anywhere;margin-top:6px;font-style:normal;line-height:1.25;display:block}.boardItem.pastDue{background:#3a1d22;border-left-color:#ff596d}.boardItem.soon{background:#372f18;border-left-color:#f4c542}.boardItem.given{opacity:.72;border-left-color:#2ec27e}.mealBoardItem{border-left-color:#70a7ff}.ringTile{z-index:15;color:#f7fbf6;background:#131e18f5;border:1px solid #395745;border-radius:8px;gap:8px;width:min(360px,100vw - 36px);padding:10px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 58px #00000061}.ringTile.expanded{width:min(860px,100vw - 36px);max-height:calc(100vh - 36px);overflow:auto}.ringTile.expanded .ringFrame{max-height:min(62vh,520px)}.ringTile header{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.ringTile header span{align-items:center;gap:8px;font-weight:900;display:flex}.ringTile header button,.ringActions button{color:#f7fbf6;background:#254635;border-radius:8px;place-items:center;min-height:38px;font-weight:900;display:grid}.ringTile header button{cursor:pointer;min-width:42px}.ringFrame{aspect-ratio:16/9;background:#080d0a;border-radius:8px;width:100%;position:relative;overflow:hidden}.ringTile video{object-fit:cover;width:100%;height:100%;display:block}.ringPlaceholder{color:#c8dbce;text-align:center;place-items:center;padding:14px;display:grid;position:absolute;inset:0}.ringTile select{color:#f7fbf6;background:#111814;border:1px solid #395745;border-radius:8px;width:100%;min-height:42px;padding:8px}.ringTile p{color:#ffb6c0;margin-bottom:0;font-weight:800}.ringActions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ringActions button:disabled{opacity:.45}@media (width<=679px){.mealEditRow{grid-template-columns:minmax(0,1fr) 48px}.mealEditRow select{order:3;grid-column:1/-1}.boardShell .ringTile{display:none}.boardHeader .iconOnly{width:44px;min-width:44px;min-height:44px}.boardHeader .eyebrow{font-size:.72rem;line-height:1.2}.boardStats div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.boardStats small{margin:0}.boardStats strong{text-align:right;margin:0}.boardPanel{box-shadow:0 10px 30px #0000002e}}.loadError{color:#4b1d24;background:#fff4f5;border:1px solid #f0b7bf;border-radius:8px;gap:14px;width:min(100%,520px);padding:20px;display:grid}.loadError strong{font-size:1.15rem}.loadError span{overflow-wrap:anywhere}@media (width>=680px){.shell{padding-inline:24px}.boardShell{padding:34px 18px 18px}.boardHeader{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;grid-template-columns:56px minmax(0,1fr) 56px;gap:14px;margin:0 0 18px;padding:0}.medCard{grid-template-columns:1fr auto;align-items:center}fieldset,.dateTimeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.homeActions{grid-template-columns:1fr 1fr}.appointmentCard{grid-template-columns:minmax(0,1fr) auto;align-items:start}.boardStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.boardStats div{padding:14px;display:block}.boardStats strong{text-align:left;margin-top:4px}.boardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.boardPanel{padding:14px}.ringTile{width:100%;margin-top:14px;position:static}.ringTile.expanded{width:100%;max-height:none}.noteLine{grid-column:1/-1}}@media (width>=900px) and (orientation:landscape){.boardShell{--ring-rail-width:clamp(320px, 25vw, 430px);height:100vh;min-height:0;padding:34px var(--ring-rail-width) 10px 10px;grid-template-rows:auto auto minmax(0,1fr);display:grid;overflow:hidden}.boardHeader{margin-bottom:7px}.boardHeader h1{font-size:clamp(1.35rem,2.05vw,2.45rem)}.boardHeader .eyebrow{font-size:.64rem}.boardHeader .iconOnly{width:38px;min-width:38px;min-height:38px}.boardStats{gap:6px;margin-bottom:7px}.boardStats div{padding:6px 8px}.boardStats small,.boardItem span{font-size:.58rem}.boardStats strong{font-size:clamp(.88rem,1.05vw,1.25rem)}.boardGrid{grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:0}.boardPanel{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:6px;display:grid;overflow:hidden}.boardPanel h2{margin-bottom:5px;font-size:clamp(.78rem,.9vw,1rem)}.boardList{overscroll-behavior:contain;scrollbar-color:#6e8d78 #18241d;gap:4px;min-height:0;padding-right:4px;overflow-y:auto}.boardList::-webkit-scrollbar{width:8px}.boardList::-webkit-scrollbar-track{background:#18241d;border-radius:8px}.boardList::-webkit-scrollbar-thumb{background:#6e8d78;border-radius:8px}.boardItem{border-left-width:3px;padding:5px 7px}.boardItem strong{margin-top:2px;font-size:clamp(.68rem,.78vw,.88rem)}.boardItem em{margin-top:2px;font-size:.62rem;line-height:1.08}.dismissAlert{width:22px;min-width:22px;min-height:22px;top:5px;right:5px}.ringTile{width:min(310px, calc(var(--ring-rail-width) - 20px));gap:6px;margin-top:0;padding:8px;position:fixed;bottom:10px;right:10px}.ringTile.expanded{width:calc(var(--ring-rail-width) - 20px);max-height:calc(100vh - 20px)}}
