:root{--bg0:#e8efe9;--bg1:#f4f7f4;--ink:#14201c;--muted:#5a6b64;--line:#c5d2cb;--panel:#ffffffb8;--accent:#1a3a3a;--accent-soft:#7eb8a8;--danger:#9b2c2c;--ok:#1f6b4a;--warn:#9a6b2f;--shadow:0 18px 50px #14282214;color:var(--ink);background:var(--bg0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 10% -10%, #cfe3d8 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #d7e4ef 0%, transparent 50%), linear-gradient(180deg, var(--bg0), var(--bg1) 40%, #eef3ef);min-height:100vh;margin:0}h1,h2,.brand{letter-spacing:-.02em;font-family:Newsreader,Georgia,serif;font-weight:600}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.auth-shell{min-height:100vh}.shell{grid-template-columns:1fr;min-height:100vh;display:grid}.shell-sidebar{display:none}.shell-main-col{min-width:0;min-height:100vh;padding-bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.shell-top{z-index:30;padding:calc(.65rem + env(safe-area-inset-top,0px)) 1rem .55rem;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7f4f0;flex-direction:column;gap:.55rem;display:flex;position:sticky;top:0}.shell-top-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.shell-display-name-mobile{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;font-size:.85rem;font-weight:650;overflow:hidden}.shell-top-brand .brand{font-size:1.2rem}.shell-account{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.shell-account-link,.shell-account-btn{border:1px solid var(--line);min-height:2rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:.3rem .7rem;font-size:.85rem;font-weight:600;transition:background .14s,border-color .14s;display:inline-flex}.shell-account-link:hover,.shell-account-btn:hover{border-color:var(--accent-soft);background:#7eb8a829}.shell-account-sidebar{display:none}.shell-content{width:100%;max-width:720px;margin:0 auto;padding:1.25rem 1.25rem 2rem}.shell-tabbar{z-index:40;padding:.4rem .35rem calc(.4rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7f4f0;grid-template-columns:repeat(5,1fr);gap:.15rem;display:grid;position:fixed;bottom:0;left:0;right:0}.shell-tab{min-height:2.75rem;color:var(--muted);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:.35rem .2rem;font-size:.72rem;font-weight:600;line-height:1.2;transition:background .14s,color .14s;display:flex;position:relative}.shell-tab.active{color:var(--accent);background:#7eb8a847}.shell-tab-label{display:block}.shell-nav-badge{color:#f3faf7;background:#c45c4a;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:.4rem;padding:0 .35rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.shell-tab .shell-nav-badge{min-width:1.1rem;height:1.1rem;margin-left:0;font-size:.65rem;position:absolute;top:.15rem;right:.15rem}.page-back{margin:0 0 .85rem;font-size:.95rem}.today-section{margin:0 0 1.75rem}.today-dashboard h2,.today-daylog h2{margin:0 0 .25rem;font-size:1.35rem}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:.65rem;display:grid}.dash-tile{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;gap:.25rem;padding:.9rem 1rem;transition:border-color .16s,transform .16s;display:grid}.dash-tile:hover{border-color:var(--accent-soft);transform:translateY(-1px)}.dash-tile-stub{opacity:.85;cursor:default}.dash-tile-stub:hover{border-color:var(--line);transform:none}.dash-tile-title{font-weight:600}.more-nav{gap:.65rem;margin:0 0 1.5rem;display:grid}.more-link{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;gap:.25rem;padding:1rem 1.1rem;transition:transform .16s,border-color .16s;display:grid}.more-link:hover{border-color:var(--accent-soft);transform:translateY(-2px)}.more-link-static{opacity:.88;cursor:default}.more-link-static:hover{border-color:var(--line);transform:none}.more-actions{margin-top:.5rem}.stub-panel{gap:.65rem}.stub-badge{letter-spacing:.04em;text-transform:uppercase;width:fit-content;color:var(--accent);border:1px solid var(--line);background:#7eb8a838;border-radius:6px;margin:0;padding:.2rem .5rem;font-size:.78rem;font-weight:700;display:inline-block}.notify-push-panel h2,.panel-block h2{margin:0 0 .5rem;font-size:1.1rem}.notify-push-hint{margin:0 0 .75rem}.notify-push-actions{flex-wrap:wrap;gap:.5rem;display:flex}.notify-flash{color:var(--ink);margin:.75rem 0 0}.notify-list-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.notify-list-head h2{margin:0}.notify-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.notify-item{border:1px solid var(--line);cursor:pointer;background:#ffffff59;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.notify-item.unread{background:#7eb8a81f;border-color:#7eb8a8a6}.notify-title{margin:0 0 .25rem;font-weight:700}.notify-body{margin:0 0 .35rem}.notify-meta{margin:0;font-size:.85rem}.notify-item-actions{flex-shrink:0}.btn.small{padding:.35rem .65rem;font-size:.85rem}@media (width>=840px){.shell{grid-template-columns:220px minmax(0,1fr)}.shell-sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff73;flex-direction:column;gap:1.25rem;height:100vh;padding:1.35rem 1rem 1.5rem 1.25rem;display:flex;position:sticky;top:0}.shell-brand .brand{font-size:1.45rem}.shell-display-name{margin:.35rem 0 .1rem;font-size:.95rem;font-weight:650;line-height:1.25}.shell-user,.shell-role{word-break:break-all;font-size:.82rem}.shell-role{margin-top:.1rem}.shell-nav-desktop{flex-direction:column;gap:.35rem;display:flex}.shell-nav-item{color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:.35rem;padding:.65rem .85rem;font-weight:600;transition:background .14s,color .14s;display:flex}.shell-nav-item:hover{background:#7eb8a829}.shell-nav-item.active{background:var(--accent);color:#f3faf7}.shell-account-sidebar{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.4rem;margin-top:auto;padding-top:1rem;display:flex}.shell-account-sidebar .shell-account-link,.shell-account-sidebar .shell-account-btn{justify-content:flex-start;width:100%}.shell-main-col{padding-bottom:0}.shell-content{padding:1.75rem 1.75rem 3rem}.shell-tabbar,.shell-top{display:none}}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.brand{margin:0;font-size:1.35rem}.muted{color:var(--muted);margin:.15rem 0 0;font-size:.92rem}.hero-block h1{margin:0 0 .4rem;font-size:clamp(2rem,5vw,2.6rem)}.lede{color:var(--muted);max-width:36rem;margin:0 0 1.25rem}.template-list{gap:.75rem;display:grid}.template-link{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;gap:.25rem;padding:1rem 1.1rem;transition:transform .16s,border-color .16s;display:grid}.template-link:hover{border-color:var(--accent-soft);transform:translateY(-2px)}.template-title{font-weight:600}.roadmap{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.roadmap ul{color:var(--muted);margin:.5rem 0 0;padding-left:1.1rem}.auth-shell{place-items:center;padding:2rem 1rem;display:grid}.auth-panel{background:var(--panel);border:1px solid var(--line);width:min(100%,420px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:1.75rem}.auth-panel h1{margin:.35rem 0 .5rem}.auth-form,.diary-form{gap:1rem;display:grid}.auth-form label,.field>label,.date-pick{gap:.35rem;font-weight:500;display:grid}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:.7rem .8rem}select{cursor:pointer}textarea{resize:vertical}.btn{cursor:pointer;background:color-mix(in srgb, var(--accent) 10%, #fff);border:1px solid #0000;border-color:color-mix(in srgb, var(--accent) 28%, var(--line));color:var(--accent);border-radius:999px;padding:.7rem 1.1rem;font-weight:600;line-height:1.25}.btn.primary{background:var(--accent);border-color:var(--accent);color:#f3faf7}.btn.primary:hover:not(:disabled){filter:brightness(1.12)}.btn.primary:disabled{opacity:.6;cursor:wait;filter:none}.btn.ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn.danger{color:#fef2f2;background:#b91c1c;border-color:#991b1b}.btn.danger:disabled{opacity:.6;cursor:wait}.qa-tools-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin-top:.85rem;display:grid}.qa-tools-col{align-content:start;gap:.5rem;display:grid}.qa-tools-col h3{margin:0 0 .15rem;font-size:1rem}.form-section{border-top:1px solid var(--line);padding:1.1rem 0}.form-section h2{margin:0 0 .4rem;font-size:1.35rem}.section-intro,.help{color:var(--muted);margin:0 0 .75rem;font-size:.92rem}.field{margin-bottom:1rem}label.field{gap:.35rem;font-weight:500;display:grid}.req{color:var(--danger);margin-left:.2rem}.scale-field{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.scale-field input[type=range]{flex:1;min-width:8rem}.scale-field-unset{justify-content:flex-start}.scale-value{text-align:right;font-variant-numeric:tabular-nums;min-width:2rem;font-weight:600}.checklist{gap:.4rem;display:grid}label.check-row,.check-row{align-items:center;gap:.55rem;font-weight:400;display:flex}.check-row input[type=checkbox]{flex-shrink:0;width:auto;margin:0}.error{color:var(--danger);margin:0}.ok{color:var(--ok);margin:0}.back{font-weight:500}.date-pick input{width:auto}.topbar-brand{margin:0}.home-nav{margin:0 0 1.25rem}.home-nav-link{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#7eb8a838,#ffffffb3);border-radius:14px;gap:.25rem;padding:1rem 1.1rem;transition:transform .16s,border-color .16s;display:grid}.home-nav-link:hover{border-color:var(--accent-soft);transform:translateY(-2px)}.track-tabs{flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;display:flex}.track-tab{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;padding:.45rem .95rem;font-weight:500;transition:background .16s,border-color .16s,color .16s}.track-tab.active{background:var(--accent);border-color:var(--accent);color:#f3faf7}.trend-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin:0 0 1.25rem;padding:1rem 1.1rem .85rem;overflow:visible}.trend-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.85rem;display:flex}.trend-head h2{margin:0;font-size:1.25rem}.trend-stat{color:var(--ink);font-variant-numeric:tabular-nums}.trend-stat-meta{color:var(--muted)}.trend-bars{grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:.28rem;min-height:7.5rem;margin-top:.35rem;padding-top:2.4rem;display:grid;overflow:visible}.trend-col{cursor:default;outline:none;justify-items:center;gap:.35rem;display:grid;position:relative}.trend-col:focus-visible .trend-bar,.trend-col:hover .trend-bar{filter:brightness(1.08)}.trend-tip{z-index:3;border:1px solid var(--line);min-width:4.5rem;color:var(--ink);text-align:center;white-space:nowrap;pointer-events:none;opacity:0;background:#f7faf8;border-radius:8px;gap:.1rem;padding:.35rem .5rem;transition:opacity .14s,transform .14s;display:grid;position:absolute;bottom:calc(100% + .2rem);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 8px 20px #1428221f}.trend-tip:after{content:"";border:5px solid #0000;border-top-color:#f7faf8;margin-left:-5px;position:absolute;top:100%;left:50%}.trend-col:hover .trend-tip,.trend-col:focus-visible .trend-tip{opacity:1;transform:translate(-50%)translateY(0)}.trend-col:first-child .trend-tip{left:0;transform:translate(0)translateY(4px)}.trend-col:first-child .trend-tip:after{margin-left:0;left:12px}.trend-col:first-child:hover .trend-tip,.trend-col:first-child:focus-visible .trend-tip{transform:translate(0)translateY(0)}.trend-col:last-child .trend-tip{left:auto;right:0;transform:translate(0)translateY(4px)}.trend-col:last-child .trend-tip:after{margin-left:0;left:auto;right:12px}.trend-col:last-child:hover .trend-tip,.trend-col:last-child:focus-visible .trend-tip{transform:translate(0)translateY(0)}.trend-tip-date{color:var(--muted);font-size:.68rem;line-height:1.2}.trend-tip-value{font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600;line-height:1.2}.trend-tip-max{color:var(--muted);font-size:.78rem;font-weight:500}.trend-tip-empty{color:var(--muted);font-size:.78rem}.trend-bar-track{justify-content:center;align-items:flex-end;width:100%;height:6.5rem;display:flex}.trend-bar{background:linear-gradient(180deg, var(--accent-soft), var(--accent));border-radius:6px 6px 3px 3px;width:70%;max-width:1.1rem;min-height:.35rem;transition:height .22s,filter .14s}.trend-bar.empty{background:var(--line);opacity:.7;border-radius:3px;width:70%;max-width:1.1rem;height:.35rem}.trend-day{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem}.history-list-block{margin-top:1.75rem}.history-list-block h2{margin:0 0 .75rem;font-size:1.35rem}.history-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.history-row{background:var(--panel);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.history-date{margin:0;font-weight:600}.history-meta{margin:.2rem 0 0}.btn.compact{white-space:nowrap;padding:.45rem .85rem;font-size:.9rem}.form-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.slice-med-prefs{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:.65rem;margin:0 0 1.25rem;padding:.85rem 1rem;display:grid}.slice-med-toggle{cursor:pointer;align-items:center;gap:.5rem;font-weight:500;display:flex}.slice-med-scope{border:0;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0;display:flex}.slice-med-scope label{cursor:pointer;align-items:center;gap:.4rem;font-size:.95rem;display:flex}.day-log-item-med{border-style:dashed}.log-entry-tag-other{color:var(--muted);font-size:.8rem;font-weight:500}.log-entry-tag-other:before{content:"· "}.log-entry-med-hint{margin:.65rem 0 0;font-size:.9rem}.day-log{margin:0 0 1.5rem}.day-log-head{margin-bottom:.85rem}.day-log-head h2{margin:0;font-size:1.35rem}.day-log-empty{margin:0 0 1rem}.day-log-add{justify-content:flex-start;margin-top:1rem;display:flex}.day-log-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.day-log-item{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem 1.05rem}.day-log-item-actions{justify-content:flex-end;margin-top:.75rem;display:flex}.log-entry-meta{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.4rem .65rem;margin:0 0 .65rem;font-weight:600;display:flex}.log-entry-kind{color:var(--muted);font-weight:500}.log-entry-kind:before{content:"· "}.log-entry-fields{gap:.45rem;margin:0;display:grid}.log-entry-field{gap:.1rem;display:grid}.log-entry-field dt{color:var(--muted);font-size:.85rem}.log-entry-field dd{white-space:pre-wrap;margin:0}.log-entry-notes{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.log-entry-notes-label{color:var(--muted);margin:0 0 .25rem;font-size:.85rem}.log-entry-notes-text{white-space:pre-wrap;margin:0}.day-log-composer{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-top:.85rem;padding:1rem 1.05rem}.kind-picker{gap:.75rem;display:grid}.kind-picker-list{flex-wrap:wrap;gap:.5rem;display:flex}.kind-picker-btn{justify-content:flex-start}.inline-form-panel{margin-top:0}.inline-form-label{color:var(--muted);margin:0 0 .65rem;font-size:.95rem;font-weight:600}.history-time{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.admin-section{margin:1.75rem 0}.admin-section h2{margin:0 0 .75rem;font-size:1.35rem}.lockout-events{margin:1rem 0 1.25rem}.lockout-events h3{margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.lockout-events-list{margin:0;padding-left:1.1rem;font-size:.92rem;line-height:1.45}.lockout-events-list li{margin:.25rem 0}.seed-target-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--accent,#2f6f5e) 8%, var(--panel));border-radius:12px;max-width:480px;margin:0 0 1.1rem;padding:.85rem 1rem}.seed-target{color:var(--text);gap:.4rem;font-size:.95rem;font-weight:600;display:grid}.seed-target select{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:.65rem .75rem;font-weight:400}.seed-target-hint{color:var(--muted);margin:.45rem 0 0;font-size:.85rem;font-weight:400}.admin-form{max-width:420px}.admin-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem 1rem;max-width:720px;margin:0 0 1rem;display:grid}.admin-filters label{color:var(--muted);gap:.35rem;font-size:.9rem;display:grid}.admin-filters-actions{align-items:end;padding-bottom:.1rem;display:flex}.admin-filters input,.admin-filters select{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:.55rem .7rem}.users-table-wrap{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.95rem}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--line);padding:.7rem .9rem}.users-table th{color:var(--muted);font-size:.85rem;font-weight:600}.users-table tr:last-child td{border-bottom:none}.users-table-row-link td{padding:0}.users-table-row-link a{color:inherit;padding:.7rem .9rem;text-decoration:none;display:block}.users-table-row-link a.users-email-link{color:var(--accent,#2a6f6a);text-underline-offset:.15em;font-weight:600;text-decoration:underline}.users-table-row-link a.users-card-link{color:var(--accent,#2a6f6a);white-space:nowrap;font-weight:600}.users-table-row-link a.users-lockout-cell{align-items:center;min-height:2.6rem;display:flex}.users-table-row-link:hover{background:color-mix(in srgb, var(--accent,#2a6f6a) 8%, transparent)}.lockout-badges{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.lockout-badge{border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:.2rem .45rem;font-size:.8rem;font-weight:600;line-height:1.2;display:inline-block}.lockout-badge.lockout-ok{color:var(--muted);border-color:#0000;padding-left:0;font-weight:500}.lockout-badge.lockout-soft{color:#8a5a00;border-color:color-mix(in srgb, #e6a800 40%, var(--line));background:#e6a8002e}.lockout-badge.lockout-hard{color:#8b1e1e;border-color:color-mix(in srgb, #d64545 40%, var(--line));background:#d6454529}.profile-dl{gap:.85rem;margin:0 0 1.5rem;display:grid}.profile-dl div{gap:.15rem;display:grid}.profile-dl dt{color:var(--muted);font-size:.85rem}.profile-dl dd{margin:0;font-weight:500}.profile-2fa-row{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;display:flex}.profile-2fa-status{font-weight:500}.profile-2fa-row a.btn{text-decoration:none}.profile-2fa-row a.btn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.btn-sm{padding:.45rem .85rem;font-size:.9rem}.today-meds{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin:0 0 1.75rem;padding:1.1rem 1.15rem 1.25rem}.today-meds-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.today-meds-head h2{margin:0;font-size:1.4rem}.today-meds-empty{margin:0}.intake-list,.med-catalog{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.intake-row,.med-card{border:1px solid var(--line);background:#ffffff8c;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.55rem 1rem;padding:.75rem .85rem;display:grid}.intake-main,.med-card-body{grid-column:1;min-width:0}.intake-row.status-taken{border-color:color-mix(in srgb, var(--ok) 35%, var(--line))}.intake-row.status-skipped{opacity:.78}.intake-title-row{flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;display:flex}.intake-time{font-variant-numeric:tabular-nums;min-width:3.2rem;font-weight:600}.intake-name{font-weight:600}.intake-meta,.med-card-meta{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin-top:.35rem;display:flex}.intake-status{font-size:.85rem;font-weight:500}.intake-status.status-taken{color:var(--ok)}.intake-status.status-pending{color:var(--muted)}.prn-intake-facts{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.prn-intake-fact{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;display:flex}.prn-fact-actions{grid-column:unset;grid-row:unset;justify-self:unset;flex-wrap:wrap;justify-content:flex-start;min-width:0;min-height:0}.prn-edit-time{flex-wrap:wrap;align-items:flex-end;gap:.45rem;display:flex}.prn-edit-time-label{color:var(--muted);gap:.2rem;font-size:.85rem;display:grid}.prn-edit-time-label input{min-width:11rem}.intake-actions{flex-wrap:nowrap;grid-area:1/2/span 2;justify-content:flex-end;justify-self:end;align-items:center;gap:.45rem;min-width:11.5rem;min-height:2rem;display:flex}.med-card-actions{grid-area:1/2/span 2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-self:end;align-items:stretch;gap:.4rem;min-width:12.5rem;max-width:16.5rem;display:grid}.med-card-actions .btn{white-space:normal;text-align:center;width:100%;line-height:1.25}.med-form-actions,.meds-toolbar,.meds-filters{flex-wrap:wrap;align-items:flex-end;gap:.45rem 1rem;display:flex}.meds-toolbar{align-items:center;margin:0 0 .75rem}.meds-filters{margin:0 0 .35rem}.meds-filter-field{color:var(--muted);gap:.25rem;font-size:.85rem;display:grid}.meds-filter-field select{min-width:11rem}.meds-tag-filter{border:1px solid var(--line);border-radius:10px;min-width:min(100%,18rem);margin:0;padding:.35rem .65rem .5rem}.meds-tag-filter legend{color:var(--muted);padding:0 .25rem;font-size:.85rem}.meds-filter-hint{margin:0 0 1.25rem;font-size:.85rem}.tag-chip{border:1px solid var(--line);color:var(--ink);background:#7eb8a82e;border-radius:6px;padding:.12rem .45rem;font-size:.78rem;display:inline-block}.tag-chip-rx{border-color:color-mix(in srgb, #c48c5a 40%, var(--line));background:#c48c5a38;font-weight:600}.prn-section{margin-top:1rem}.prn-title{margin:0 0 .65rem;font-size:1.05rem;font-weight:600}.quick-repeat{border-top:1px solid var(--line);gap:.75rem;margin-top:1.1rem;padding-top:1rem;display:grid}.quick-repeat-hint{margin:0;font-size:.9rem}.quick-repeat-grid,.med-form-dates,.dose-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:.75rem;display:grid}.quick-repeat-grid>label,.med-form label:not(.check-row){gap:.35rem;font-weight:500;display:grid}.panel-block,.med-form{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;gap:.9rem;margin:0 0 1.5rem;padding:1.15rem 1.2rem;display:grid}.med-form h2{margin:0;font-size:1.35rem}.tag-fieldset,.dose-fieldset{border:none;margin:0;padding:0}.tag-fieldset legend,.dose-fieldset legend{margin-bottom:.45rem;font-weight:600}.tag-checks{flex-wrap:wrap;gap:.55rem 1rem;display:flex}.med-card.inactive,.med-card.finished{opacity:.72}.med-card-head{flex-wrap:wrap;align-items:center;gap:.4rem .65rem;display:flex}.med-card-identity{flex-wrap:wrap;flex:12rem;align-items:baseline;gap:.35rem .55rem;min-width:0;display:flex}.med-card-badges{flex-wrap:wrap;flex:none;align-items:center;gap:.35rem;display:flex}.med-card-title{font-weight:600}.med-card-dosage{flex:0 auto}.med-stock-line{color:var(--muted,#5a6570);margin:.35rem 0 0;font-size:.88rem}.med-stock-warn{color:#8a4b12;font-weight:600}.med-card-course{margin:.25rem 0 0}.med-card-meta{margin-top:.4rem}.home-slices{margin-top:.5rem}.home-slices h2{margin:0 0 .25rem;font-size:1.4rem}.page-nav-row{flex-wrap:wrap;gap:.75rem 1.25rem;margin:0 0 .75rem;display:flex}.vitals-form-card,.vitals-chart-card,.vitals-form-card h2,.vitals-chart-card h2{margin:0 0 .65rem;font-size:1.25rem}.vitals-form{gap:.75rem;display:grid}.vitals-form label{gap:.3rem;font-size:.92rem;display:grid}.vitals-num-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.vitals-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.vitals-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;margin-bottom:.35rem;display:flex}.vitals-chart-head h2{margin:0}.vitals-legend{flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem;font-size:.85rem;display:flex}.vitals-period-row{flex-wrap:wrap;gap:.35rem;margin:0 0 .65rem;display:flex}.vitals-period-btn{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:.3rem .55rem;font-size:.82rem}.vitals-period-btn.active{border-color:var(--accent-soft);background:#7eb8a829;font-weight:600}.vitals-custom-range{flex-wrap:wrap;align-items:end;gap:.55rem .85rem;margin:0 0 .65rem;display:flex}.vitals-custom-range label{gap:.2rem;font-size:.82rem;display:grid}.vitals-custom-range input[type=date]{font:inherit;border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:8px;padding:.28rem .4rem}.vitals-custom-hint{padding-bottom:.35rem;font-size:.8rem}.vitals-mode-row{flex-wrap:wrap;gap:.3rem;margin:0 0 .65rem;display:flex}.vitals-mode-btn{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:.3rem .5rem;font-size:.8rem}.vitals-mode-btn.active{border-color:var(--accent-soft);background:#7eb8a824;font-weight:600}.vitals-leg-btn{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:.25rem .55rem;font-size:.85rem;display:inline-flex}.vitals-leg-btn.off{opacity:.45;text-decoration:line-through}.vitals-leg-btn:before{content:"";vertical-align:-.05rem;border-radius:50%;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block}.vitals-leg-sys:before{background:#c45c26}.vitals-leg-dia:before{background:#2f6f8f}.vitals-leg-pulse:before{background:#3d7a4a}.vitals-trend-row{flex-wrap:wrap;gap:.65rem 1rem;margin:0 0 .25rem;font-size:.9rem;display:flex}.vitals-trend-bp{font-weight:600}.slice-disclaimer{margin:-.35rem 0 1rem;font-size:.92rem}.nutrition-plan-stub{border:1px dashed var(--line);background:color-mix(in srgb, var(--panel) 88%, transparent);border-radius:12px;margin:0 0 1.25rem;padding:.85rem 1rem}.nutrition-plan{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:12px;margin:0 0 1.25rem;padding:.9rem 1rem}.nutrition-plan-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.nutrition-plan-head-actions{flex-wrap:wrap;gap:.35rem;display:flex}.nutrition-plan-title{margin:0;font-size:1.1rem}.nutrition-plan-cta{margin:.5rem 0 0;font-weight:600}.nutrition-plan-line{margin:.25rem 0}.nutrition-plan-remain{font-weight:600}.nutrition-plan-overage{color:var(--danger);margin:.25rem 0;font-weight:600}.nutrition-usage-bar{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:.55rem;margin:.65rem 0 .35rem;display:flex;overflow:hidden}.nutrition-usage-bar.is-over{outline:1px solid color-mix(in srgb, var(--danger) 45%, transparent)}.nutrition-usage-bar.is-band-green{outline:1px solid color-mix(in srgb, var(--ok) 50%, transparent)}.nutrition-usage-bar.is-band-yellow{outline:1px solid color-mix(in srgb, var(--warn) 55%, transparent)}.nutrition-usage-bar.is-band-red{outline:1px solid color-mix(in srgb, var(--danger) 50%, transparent)}.nutrition-usage-planned{background:var(--accent-soft)}.nutrition-usage-unplanned{background:var(--accent)}.nutrition-plan-strip-cap,.nutrition-plan-strip-note,.nutrition-plan-settings-link{margin:.25rem 0 0;font-size:.85rem}.nutrition-plan-band{margin:.2rem 0 0;font-size:.88rem;font-weight:600}.nutrition-plan-band-green{color:var(--ok)}.nutrition-plan-band-yellow{color:var(--warn)}.nutrition-plan-band-red{color:var(--danger)}.nutrition-ref,.nutrition-hist{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:12px;margin:0 0 1.25rem;padding:.85rem 1rem}.nutrition-ref-head,.nutrition-hist-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.nutrition-ref-title,.nutrition-hist-title{margin:0;font-size:1.1rem}.nutrition-ref-disclaimer{margin:0 0 .5rem;font-size:.88rem}.nutrition-ref-tip{background:color-mix(in srgb, var(--accent-soft) 55%, transparent);border-radius:8px;margin:0 0 .65rem;padding:.55rem .7rem;font-size:.92rem}.nutrition-ref-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.nutrition-chip{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .7rem;font-size:.85rem}.nutrition-chip.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 70%, transparent);font-weight:600}.nutrition-ref-cards{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.nutrition-ref-card{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:8px;padding:.55rem .65rem}.nutrition-ref-card-title{margin:0 0 .2rem;font-weight:600}.nutrition-hist-list{margin:0;padding:0;list-style:none}.nutrition-hist-row{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;border:0;border-bottom:1px solid color-mix(in srgb, var(--line) 55%, transparent);background:0 0;grid-template-columns:minmax(5.5rem,auto) auto 1fr;align-items:baseline;gap:.45rem;padding:.35rem 0;display:grid}.nutrition-hist-badge{text-transform:lowercase;font-size:.8rem;font-weight:600}.nutrition-hist-badge.is-over,.nutrition-hist-row.is-over .nutrition-hist-detail{color:var(--danger)}.nutrition-hist-detail{font-size:.85rem}.nutrition-menu-entry{border-top:1px solid var(--line);margin:0 0 1.25rem;padding:.85rem 0 0}.nutrition-menu-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.nutrition-menu-entry-title{margin:0;font-size:1.1rem}.nutrition-menu-entry-hint{margin:0;font-size:.85rem}.nutrition-menu-entry-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.recipe-list-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.75rem 0 1.25rem;display:flex}.recipe-plan-stub{font-size:.85rem}.recipe-book-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.recipe-book-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.recipe-book-title{color:inherit;font-weight:600;text-decoration:none}.recipe-book-title:hover{text-decoration:underline}.recipe-vis-badge{letter-spacing:.02em;vertical-align:middle;border-radius:4px;margin-left:.35rem;padding:.1rem .4rem;font-size:.72rem;font-weight:600;display:inline-block}.recipe-vis-seed{background:color-mix(in srgb, var(--accent,#2a6f5b) 18%, transparent);color:var(--accent,#2a6f5b)}.recipe-vis-public{color:#2b6cb0;background:#2b6cb029}.recipe-vis-private{background:color-mix(in srgb, var(--muted,#6b7280) 14%, transparent);color:var(--muted,#6b7280)}.recipe-editor-vis-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.15rem;display:flex}.recipe-publish-toggle{margin:.15rem 0 0}.recipe-publish-hint{margin:0;font-size:.85rem}.recipe-book-row-actions{gap:.4rem;display:flex}.shell-content:has(.recipe-editor-page){max-width:none}.recipe-editor-page{width:100%}.recipe-editor-hero{flex-direction:column;gap:.75rem;display:flex}.recipe-yield-row{flex-wrap:wrap;gap:.75rem;display:flex}.recipe-yield-row .field{min-width:7rem;max-width:10rem}.recipe-editor-actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}.recipe-file-btn{cursor:pointer;align-items:center;display:inline-flex}.recipe-variants{border-top:1px solid var(--line);margin:0 0 1rem;padding:.75rem 0}.recipe-variants h2{margin:0 0 .5rem;font-size:1.05rem}.recipe-variants-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.recipe-variant-chip{align-items:center;gap:.25rem;display:inline-flex}.recipe-variant-rename{width:7rem;padding:.2rem .35rem;font-size:.85rem}.recipe-editor-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:start;gap:1rem;width:100%;margin-bottom:1rem;display:grid}.recipe-cook-view{max-width:40rem;margin:.5rem 0 2rem}.recipe-cook-banner{margin:0 0 1rem;font-size:.9rem}.recipe-cook-section{margin-bottom:1.5rem}.recipe-cook-section h2{margin:0 0 .65rem;font-family:Newsreader,Georgia,serif;font-size:1.2rem}.recipe-cook-ingredients{flex-direction:column;gap:.35rem;margin:0;padding-left:1.2rem;line-height:1.45;display:flex}.recipe-cook-steps{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.recipe-cook-step{border-bottom:1px solid var(--line);padding:.65rem 0}.recipe-cook-step-head{align-items:baseline;gap:.5rem;margin-bottom:.2rem;display:flex}.recipe-cook-step-num{min-width:1.5rem;font-weight:700}.recipe-cook-step-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#5a6e7a);font-size:.75rem}.recipe-cook-step-name{margin:0;font-size:1.05rem;font-weight:600}.recipe-cook-step-meta{margin:.25rem 0 0;font-size:.9rem}.recipe-cook-wait-badge{border:1px dashed var(--line);background:color-mix(in srgb, var(--panel) 70%, transparent);border-radius:4px;margin:.4rem 0 0;padding:.2rem .55rem;font-size:.85rem;font-weight:600;display:inline-block}.recipe-cook-result{color:var(--muted,#5a6e7a);margin:.35rem 0 0;font-size:.95rem;font-style:italic}.recipe-cook-final-name{margin:0;font-family:Newsreader,Georgia,serif;font-size:1.15rem;font-weight:700}.recipe-cook-final-macros{margin:.35rem 0 0;font-size:.95rem}.recipe-cook-final-inline{margin:.75rem 0 0}.recipe-open-graph-btn[aria-pressed=true]{border-color:var(--accent-soft,#7eb8a8)}.recipe-graph-live-preview{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 80%, transparent);border-radius:8px;margin:.5rem 0 1.25rem;padding:.5rem .85rem .25rem}.recipe-graph-live-preview>summary{cursor:pointer;padding:.25rem 0 .5rem;font-family:Newsreader,Georgia,serif;font-size:1.05rem;font-weight:600}.recipe-graph-live-preview .recipe-cook-view{margin-top:0}.recipe-cook-nested{border-left:3px solid var(--accent-soft,#7eb8a8);margin:.65rem 0 0 .5rem;padding:.65rem .75rem}.recipe-cook-nested-title{margin:.35rem 0 .4rem;font-size:.95rem}.recipe-editor-secondary{border-top:1px solid var(--line);margin:1.25rem 0 2rem;padding-top:.75rem}.recipe-editor-secondary details{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 80%, transparent);border-radius:8px;margin-bottom:.75rem;padding:.5rem .75rem}.recipe-editor-secondary summary{cursor:pointer;padding:.25rem 0;font-family:Newsreader,Georgia,serif;font-size:1.05rem;font-weight:600}.recipe-editor-secondary details[open] summary{margin-bottom:.5rem}.rg-editor{min-width:0}.rg-toolbar{flex-wrap:wrap;align-items:end;gap:.45rem;margin-bottom:.5rem;display:flex}.rg-toolbar-field{flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.rg-toolbar-field select,.rg-toolbar-field input{min-width:8rem;font-size:.9rem}.rg-toolbar-name{flex:1;min-width:10rem}.rg-toolbar-stats{align-self:center;margin-left:auto;font-size:.85rem}.rg-preview-hint{margin:0 0 .4rem;font-size:.85rem}.rg-canvas{border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:6px;height:min(72vh,820px);min-height:420px;position:relative;overflow:hidden}@media (width>=840px){.recipe-editor-page .rg-canvas{height:min(78vh,900px)}}.rg-blueprint{background:#1e2a28}.rg-svg{display:block}.rg-bg-fill{fill:#243330}.rg-grid-line{stroke:#8aa39a47;stroke-width:1px}.rg-edge{stroke:#d7e4dfb3;stroke-width:2px;pointer-events:none}.rg-edge-hit{stroke:#0000;stroke-width:14px;cursor:pointer}.rg-edge-draft{stroke:var(--accent-soft);stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.rg-node-body{fill:#2f3d39;stroke:#5a6f68;stroke-width:1px;cursor:move}.rg-node-body.selected{stroke:var(--accent-soft);stroke-width:2px}.rg-node-body.subrecipe{stroke:#7eb8a8;stroke-width:2px}.rg-node-body.wait{stroke-dasharray:5 3}.rg-node-header{fill:#4a5d57}.rg-kind-ingredient .rg-node-header{fill:#2f6f66}.rg-kind-action .rg-node-header{fill:#3a5f7a}.rg-kind-intermediate .rg-node-header{fill:#4a6b3f}.rg-kind-wait .rg-node-header{fill:#8a6a32}.rg-kind-subrecipe .rg-node-header{fill:#5a6e7a}.rg-kind-final .rg-node-header{fill:#6b4a3a}.rg-node-kind-text{fill:#f0f5f2;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:10px;font-weight:700}.rg-node-title{fill:#eef3ef;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:12px;font-weight:600}.rg-node-sub-text{fill:#9aada4;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:10px}.rg-pin{fill:#243330;stroke-width:2px;cursor:crosshair}.rg-pin-in{stroke:#5eb8a8}.rg-pin-out{stroke:#c9b07a}.rg-hint,.rg-status{color:#c5d4cd;pointer-events:none;background:#1a2523;border:1px solid #8aa39a66;border-radius:4px;max-width:min(420px,90%);padding:6px 10px;font-size:.78rem;line-height:1.35;position:absolute;left:10px}.rg-hint{top:10px}.rg-status{color:#eef3ef;bottom:10px}.rg-legend{color:var(--muted);flex-wrap:wrap;gap:.55rem .9rem;margin:.55rem 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.rg-legend-item{align-items:center;gap:.35rem;display:inline-flex}.rg-legend-swatch{background:#4a5d57;border-radius:2px;width:12px;height:12px}.rg-legend-item.rg-kind-ingredient .rg-legend-swatch{background:#2f6f66}.rg-legend-item.rg-kind-action .rg-legend-swatch{background:#3a5f7a}.rg-legend-item.rg-kind-intermediate .rg-legend-swatch{background:#4a6b3f}.rg-legend-item.rg-kind-wait .rg-legend-swatch{border:1px dashed var(--ink);background:#8a6a32;border-radius:6px}.rg-legend-item.rg-kind-subrecipe .rg-legend-swatch{background:#5a6e7a}.rg-legend-item.rg-kind-final .rg-legend-swatch{background:#6b4a3a}.recipe-inspector{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-self:stretch;min-width:0;max-height:min(70vh,40rem);padding:.85rem .9rem;overflow:auto}.recipe-inspector h2{margin:0 0 .35rem;font-size:1.05rem}.recipe-inspector-form{flex-direction:column;gap:.15rem;display:flex}.recipe-inspector-form>.field{margin-bottom:.65rem}.recipe-inspector-kind{margin:0 0 .55rem;font-size:.88rem}.recipe-inspector-label{margin-bottom:.35rem;font-weight:500;display:block}.recipe-inspector-embed{margin:.25rem 0 .5rem;font-size:.88rem}.recipe-inspector-embed summary{cursor:pointer;font-weight:500}.recipe-inspector-embed p{margin:.4rem 0 0}.recipe-food-macros-line{margin-top:.15rem;font-size:.8rem;display:block}.recipe-food-hits-note{margin:.35rem .5rem .45rem;font-size:.75rem}.recipe-ingredient-portion-macros{margin:0 0 .5rem;font-size:.86rem}.recipe-quick-add{border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 75%, white);border-radius:8px;margin-top:.35rem;padding:.65rem .7rem}.recipe-quick-add-title{margin:0 0 .25rem;font-size:.98rem}.recipe-quick-add-hint{margin:0 0 .55rem;font-size:.82rem}.recipe-quick-add-form{flex-direction:column;gap:.15rem;display:flex}.recipe-quick-add-macros{grid-template-columns:1fr 1fr;gap:.35rem .5rem;display:grid}.recipe-quick-add-actions{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.recipe-kbju-preview{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin:0 0 .85rem;padding:.85rem 1rem}.recipe-kbju-preview-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.recipe-kbju-preview-head h2{margin:0;font-size:1.05rem}.recipe-kbju-total{margin:.25rem 0}.recipe-kbju-warn{background:#faf1e5;border-left:3px solid #a86a2a;margin:.45rem 0;padding:.45rem .55rem;font-size:.9rem}.recipe-kbju-items{flex-direction:column;gap:.35rem;max-height:12rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex;overflow:auto}.recipe-kbju-items li{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);flex-direction:column;gap:.1rem;padding-bottom:.3rem;font-size:.88rem;display:flex}.recipe-ref-picker{flex-direction:column;gap:.45rem;min-width:0;display:flex}.recipe-ref-picker>.field{margin-bottom:0}.recipe-ref-empty{margin:0;font-size:.88rem}.recipe-ref-selected{border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 70%, white);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.45rem .55rem;display:flex}.recipe-ref-selected-main{flex-direction:column;gap:.1rem;min-width:0;display:flex}.recipe-ref-selected-title{word-break:break-word;font-weight:560}.recipe-ref-selected-id{font-variant-numeric:tabular-nums;font-size:.78rem}.recipe-ref-hits-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:14rem;overflow:auto}.recipe-ref-hits{border-collapse:collapse;width:100%;font-size:.86rem}.recipe-ref-hits th{text-align:left;background:color-mix(in srgb, var(--bg1) 85%, white);border-bottom:1px solid var(--line);color:var(--muted);padding:.35rem .5rem;font-size:.78rem;font-weight:600;position:sticky;top:0}.recipe-ref-hits td{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);vertical-align:top;padding:.4rem .5rem}.recipe-ref-hits tbody tr{cursor:pointer}.recipe-ref-hits tbody tr:hover{background:color-mix(in srgb, var(--accent-soft) 18%, white)}.recipe-ref-hits tbody tr.is-selected{background:color-mix(in srgb, var(--accent-soft) 28%, white);box-shadow:inset 3px 0 0 var(--accent)}.recipe-ref-hit-title{word-break:break-word;font-weight:540}.recipe-ref-hit-id{font-variant-numeric:tabular-nums;white-space:nowrap;width:1%}.recipe-text-import{border:none;margin:0;padding:0}.recipe-text-import h2{margin:0 0 .4rem;font-size:1.1rem}.recipe-text-modes{gap:1rem;margin:.5rem 0;display:flex}.recipe-text-area{width:100%;font:inherit;border:1px solid var(--line);resize:vertical;border-radius:8px;margin-bottom:.6rem;padding:.65rem}.checkbox-field{align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.nutrition-slice-footer{flex-wrap:wrap;gap:1rem;margin:1.25rem 0 .5rem;font-size:.92rem;display:flex}.slice-med-hint{margin:.45rem 0 0;font-size:.85rem}.nutrition-hist-panel{margin:0 0 1.25rem}.nutrition-hist-filter{align-items:center;gap:.45rem;margin-bottom:.75rem;font-size:.92rem;display:flex}.nutrition-hist-panel-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.nutrition-hist-panel-meta{flex-wrap:wrap;align-items:baseline;gap:.45rem;margin-bottom:.25rem;display:flex}.nutrition-hist-bar{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:.45rem;position:relative;overflow:hidden}.nutrition-hist-bar-plan{border-right:1px dashed color-mix(in srgb, var(--fg) 35%, transparent);pointer-events:none;position:absolute;inset:0 auto 0 0}.nutrition-hist-bar-eaten{background:var(--accent);border-radius:999px;height:100%;display:block}.nutrition-hist-bar-eaten.is-over{background:var(--danger)}.nutrition-menu-block{border:1px solid var(--line);border-radius:12px;margin:0 0 1.5rem;padding:.9rem 1rem}.nutrition-menu-slots,.nutrition-dish-list{margin:.5rem 0 0;padding:0;list-style:none}.nutrition-menu-slot,.nutrition-dish-row{border-bottom:1px solid color-mix(in srgb, var(--line) 55%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 0;display:flex}.nutrition-menu-slot-actions{flex-wrap:wrap;gap:.35rem;display:flex}.meal-planned-toggle{align-items:center;gap:.5rem;margin:.75rem 0;flex-direction:row!important;display:flex!important}.log-entry-plan-badge.is-planned{color:var(--accent);font-weight:600}.nutrition-goals-form{margin-top:.65rem}.nutrition-goals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.nutrition-goals-grid label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.nutrition-goals-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.meal-food-picker{border:1px dashed var(--line);background:color-mix(in srgb, var(--bg1) 80%, white);border-radius:10px;margin:0 0 1rem;padding:.75rem .85rem}.food-brand-filter,.recipe-visibility-filter{border:none;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;margin:.35rem 0 .65rem;padding:0;display:flex}.food-brand-filter legend,.recipe-visibility-filter legend{float:left;width:auto;margin-right:.25rem;padding:0}.food-brand-filter-opt,.recipe-visibility-filter-opt{cursor:pointer;align-items:center;gap:.3rem;font-size:.9rem;display:inline-flex}.recipe-list-visibility{margin-bottom:.75rem}.meal-food-hits{gap:.35rem;max-height:12rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.meal-food-hit{text-align:left;border:1px solid var(--line);cursor:pointer;width:100%;font:inherit;color:inherit;background:#fff;border-radius:8px;flex-direction:column;gap:.15rem;padding:.45rem .55rem;display:flex}.meal-food-hit.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.meal-food-hit-name{font-weight:560}.meal-food-hit-meta{font-size:.8rem}.meal-food-apply{gap:.45rem;margin-top:.65rem;display:grid}.meal-food-apply label{flex-direction:column;gap:.25rem;max-width:10rem;display:flex}.meal-lines-editor{gap:.75rem;margin-bottom:.5rem;display:grid}.meal-lines-empty{margin:0;font-size:.9rem}.meal-lines-hide-picker{justify-self:start}.meal-lines-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.meal-line-card{border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 70%, white);border-radius:10px;gap:.45rem;padding:.65rem .75rem;display:grid}.meal-line-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.meal-line-index{font-size:.85rem;font-weight:560}.meal-line-grid{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.45rem;display:grid}.meal-line-grid label{flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}.meal-line-meta{margin:0;font-size:.8rem}.meal-line-share{cursor:pointer;align-items:flex-start;gap:.5rem;margin:.35rem 0 0;font-size:.88rem;line-height:1.35;display:flex}.meal-line-share input{flex-shrink:0;margin-top:.2rem}.meal-line-share-hint{font-size:.8rem;display:inline}.meal-lines-actions{flex-wrap:wrap;gap:.5rem;display:flex}.meal-lines-totals{margin:0;font-size:.95rem;font-weight:560}.nutrition-calc{gap:.65rem;margin-top:1rem;display:grid}.nutrition-calc.is-compact{border:1px dashed var(--line);background:color-mix(in srgb, var(--bg1) 75%, white);border-radius:10px;padding:.75rem .85rem}.nutrition-calc-disclaimer{border-left:3px solid var(--accent,#2a6);background:#00000008;margin:0;padding:.55rem .7rem;font-size:.88rem;line-height:1.4}.nutrition-calc-disclaimer.preview-disclaimer{border-left-color:#b42318}.nutrition-calc-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.55rem;display:grid}.nutrition-calc-grid label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.nutrition-calc-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.nutrition-calc-preview{border-top:1px solid var(--line);gap:.4rem;margin-top:.5rem;padding-top:.65rem;display:grid}.nutrition-calc-preview h3{margin:0;font-size:1rem}.nutrition-calc-preview-line,.nutrition-calc-preview-goals{margin:0}.nutrition-calc-preview-goals{font-weight:560}.nutrition-calc-notes{color:var(--muted,#666);margin:.25rem 0 0;padding-left:1.1rem;font-size:.85rem}.log-entry-macros{margin:.2rem 0 .35rem;font-size:.9rem;font-weight:560}.log-entry-vitals{font-variant-numeric:tabular-nums;margin:.15rem 0 .25rem;font-size:.95rem;font-weight:560;line-height:1.35}.log-entry-meal-lines{margin:.15rem 0 .55rem}.log-entry-meal-lines-label{color:var(--muted);margin:0 0 .25rem;font-size:.85rem}.log-entry-meal-lines-list{gap:.2rem;margin:0;padding-left:1.15rem;font-size:.92rem;display:grid}.log-entry-meal-lines-list li{white-space:pre-wrap}.log-entry-meal-type{color:var(--muted);margin-left:.35rem;font-size:.85rem;font-weight:560;display:inline-block}.log-entry-plan-badge{border:1px solid var(--line);background:#00000008;border-radius:6px;margin-left:.35rem;padding:.05rem .4rem;font-size:.72rem;display:inline-block}.vitals-disclaimer,.vitals-chart-foot{margin:0 0 .55rem;font-size:.8rem}.vitals-grid-v{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 3;opacity:.7}.vitals-axis-x{font-size:9px}.vitals-zone-mark{fill:#b45309}.vitals-zone-mark.mixed{fill:#7c3aed}.vitals-zone-mark.very_high,.vitals-zone-mark.high{fill:#b91c1c}.vitals-zone-mark.very_low,.vitals-zone-mark.low{fill:#1d4ed8}.vitals-badges{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.vitals-badge{border:1px solid var(--line);background:#00000008;border-radius:6px;padding:.12rem .4rem;font-size:.72rem;display:inline-block}.vitals-badge-mixed{color:#5b21b6;border-color:#7c3aed}.vitals-badge-high,.vitals-badge-very_high{color:#991b1b;border-color:#b91c1c}.vitals-badge-low,.vitals-badge-very_low{color:#1e40af;border-color:#1d4ed8}.vitals-tip-zones{color:#92400e;font-size:.8rem}.settings-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;margin:0 0 1.5rem;padding:1rem 1.1rem}.settings-card h2{margin:0 0 .5rem;font-size:1.25rem}.settings-thresholds-form{gap:1rem;margin-top:.75rem;display:grid}.settings-metric-block{border:1px solid var(--line);border-radius:10px;margin:0;padding:.75rem .85rem}.settings-metric-block legend{padding:0 .35rem;font-weight:600}.settings-bounds-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.55rem;display:grid}.settings-bounds-grid label{gap:.25rem;font-size:.85rem;display:grid}.settings-bound-hint{grid-column:1/-1;margin:0;font-size:.8rem}.settings-csv-block{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.settings-csv-block h3{margin:0 0 .45rem;font-size:1.05rem}.profile-settings-link{margin:.5rem 0 0}.profile-settings-link a{font-weight:600}.inline-link{color:var(--accent);text-underline-offset:.15em;margin-left:.35rem;font-weight:600;text-decoration:underline}.inline-link:hover{color:color-mix(in srgb, var(--accent) 75%, #000)}.inline-link:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px;border-radius:2px}.settings-card-security h2{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;display:flex}.settings-card-badge{letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb, var(--accent-soft) 35%, #fff);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));border-radius:999px;padding:.2rem .5rem;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:.72rem;font-weight:700;display:inline-block}#security-2fa:target{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-soft) 70%, transparent), var(--shadow)}.totp-setup{flex-direction:column;gap:.85rem;margin-top:.75rem;display:flex}.totp-qr{border:1px solid var(--line);background:#fff;border-radius:8px;align-self:flex-start;padding:.5rem}.totp-secret-label{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.totp-secret{letter-spacing:.04em;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace}.totp-login-email{word-break:break-all;margin:0}.vitals-chart-wrap{position:relative}.vitals-chart-svg{width:100%;height:auto;display:block}.vitals-grid{stroke:var(--line);stroke-width:1px}.vitals-axis{fill:var(--muted,#6b7280);font-size:10px}.vitals-line{stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.vitals-line-sys{stroke:#c45c26}.vitals-line-dia{stroke:#2f6f8f}.vitals-line-pulse{stroke:#3d7a4a}.vitals-dot{cursor:pointer;stroke:#fff;stroke-width:1.5px}.vitals-dot-sys{fill:#c45c26}.vitals-dot-dia{fill:#2f6f8f}.vitals-dot-pulse{fill:#3d7a4a}.vitals-chart-tip{background:var(--panel);border:1px solid var(--line);max-width:min(240px,70%);box-shadow:var(--shadow);pointer-events:none;border-radius:8px;gap:.15rem;padding:.55rem .7rem;font-size:.85rem;display:grid;position:absolute;top:.5rem;right:.5rem}.history-line{stroke:#2f6f8f;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.history-dot{fill:#2f6f8f;stroke:#fff;stroke-width:1.5px;cursor:pointer}.history-dot.active{fill:#1a4a63}.history-tick-label{font-size:10px}.history-chart-tip{gap:.1rem;display:grid}.vitals-tip-date{font-weight:600}@media (width<=520px){.vitals-num-row{grid-template-columns:1fr}.trend-day{font-size:.6rem}.history-row,.topbar{flex-direction:column;align-items:flex-start}.intake-row,.med-card{grid-template-columns:1fr}.intake-actions,.med-card-actions{grid-area:auto/1;justify-self:stretch;min-width:0}.intake-actions{flex-wrap:wrap;justify-content:flex-start}.med-card-actions{max-width:none}}.shell-content:has(.audit-page){max-width:none}.audit-page{width:100%}.audit-filters{flex-direction:column;gap:.65rem;margin:0 0 1rem;display:flex}.audit-filters-row{flex-wrap:wrap;align-items:end;gap:.65rem .85rem;display:flex}.audit-filters label{gap:.2rem;font-size:.85rem;display:grid}.audit-filter-action{flex:14rem;min-width:12rem;max-width:22rem}.audit-filters input,.audit-filters select{font:inherit;border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:8px;min-width:9rem;padding:.35rem .45rem}.audit-filters input[type=date]{min-width:10.5rem}.audit-pager{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:0 0 .75rem;display:flex}.audit-pager label{gap:.2rem;font-size:.85rem;display:grid}.audit-pager select{font:inherit;border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:8px;min-width:5rem;padding:.35rem .45rem}.audit-pager-range{flex:auto;margin:0}.audit-pager-nav{gap:.4rem;display:flex}.audit-table-wrap{width:100%;margin:0 0 .75rem;overflow-x:auto}.audit-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:52rem;font-size:.88rem}.audit-table th,.audit-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.45rem .55rem;overflow:hidden}.audit-table th{white-space:nowrap;font-weight:600}.audit-table th:first-child,.audit-table td:first-child{width:9rem;min-width:9rem}.audit-when{white-space:nowrap;font-variant-numeric:tabular-nums;text-overflow:ellipsis;overflow:hidden}.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:14%;min-width:10rem}.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:8rem;min-width:7rem}.audit-table th:nth-child(4),.audit-table td:nth-child(4){overflow-wrap:anywhere;word-break:break-word;width:12%;min-width:8rem}.audit-table th:nth-child(5),.audit-table td:nth-child(5){overflow-wrap:anywhere;word-break:break-word;width:11%;min-width:7rem}.audit-table th:nth-child(6),.audit-table td:nth-child(6){white-space:nowrap;width:5rem;min-width:4.5rem}.audit-table th:nth-child(7),.audit-table td:nth-child(7){width:auto}.audit-table code{word-break:break-word;font-size:.82em}.audit-actor{overflow:hidden}.audit-actor-email{overflow-wrap:anywhere;word-break:break-word;font-weight:500;display:block}.audit-actor-id{color:var(--muted,#6b7280);font-size:.8em;display:block}.audit-ip{white-space:nowrap;text-overflow:ellipsis;cursor:default;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82em;overflow:hidden}.audit-detail{overflow-wrap:anywhere;word-break:break-word;color:var(--muted,#6b7280)}.audit-footnote{font-size:.82rem}
