/* Available window space drives layout, including folded phones and Split View. */
:root{--k-safe-top:env(safe-area-inset-top,0px);--k-safe-right:env(safe-area-inset-right,0px);--k-safe-bottom:env(safe-area-inset-bottom,0px);--k-safe-left:env(safe-area-inset-left,0px)}
html,body{min-width:0}html{scroll-padding-block:90px 110px;scrollbar-gutter:stable}html:has(dialog[open],.k-modal-layer,.k-drawer-layer){overflow:hidden}
.k-main{min-width:0;padding-left:var(--k-safe-left);padding-right:var(--k-safe-right)}
.k-sidebar{padding-top:max(18px,var(--k-safe-top));padding-left:max(12px,var(--k-safe-left));overflow-y:auto;overscroll-behavior:contain;max-height:100dvh}
.k-page-wrap,.td-page,.cw-workspace,.fd-workspace{min-width:0;max-width:100%}
.td-page{container:kivo-today / inline-size}
.fd-workspace{container:kivo-food / inline-size}
.k-wellness-direct-nav{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;flex-wrap:nowrap;scrollbar-width:thin}
.k-wellness-direct-nav>button{flex-shrink:0;min-height:44px}
.k-log-draft{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 13px;border:1px solid var(--fd-line,var(--k-line,#d6e3db));border-radius:12px;background:var(--fd-soft,var(--k-soft,#f1f6f2));color:var(--fd-muted,var(--k-muted,#52665c));font-size:12px;line-height:1.5}
.k-log-draft span{flex:1 1 180px}.k-log-draft button{min-height:44px;border:0;border-radius:8px;padding:8px;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}
.k-draft-inbox{margin:12px 0 18px;padding:14px 16px;border:1px solid var(--k-line,#d6e3db);border-radius:16px;background:var(--k-surface,#fff);color:var(--k-text,#20372c)}.k-draft-inbox summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:650}.k-draft-inbox p{font-size:13px;color:var(--k-muted,#52665c)}.k-draft-inbox>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px}.k-draft-inbox button{display:flex;flex-direction:column;gap:6px;text-align:left;min-height:64px;border:1px solid var(--k-line,#d6e3db);border-radius:10px;background:var(--k-soft,#f1f6f2);color:inherit;padding:12px;cursor:pointer;overflow-wrap:anywhere}.k-draft-inbox button span{font-size:12px;font-weight:400}.k-log-draft details{max-width:100%}.k-log-draft summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
/* Native dialogs remain the same DOM nodes throughout every size transition. */
.fd-dialog,.td-sheet{position:fixed;inset:auto;top:calc(var(--k-visible-top,0px) + var(--k-safe-top) + 12px);left:calc(50% + (var(--k-safe-left) - var(--k-safe-right))/2);transform:translateX(-50%);margin:0;box-sizing:border-box;width:min(840px,calc(100% - var(--k-safe-left) - var(--k-safe-right) - 24px));max-width:none;max-height:calc(var(--k-visible-height,100dvh) - var(--k-safe-top) - var(--k-safe-bottom) - 24px);padding-bottom:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:95px 115px}
.fd-dialog{container:kivo-log / inline-size}
.fd-dialog>header,.td-sheet>header{position:sticky;top:0;z-index:3;background:var(--fd-surface,var(--td-surface));padding:18px 20px 12px}
.fd-dialog>header h2,.td-sheet>header h2{overflow-wrap:anywhere;line-height:1.25}
.fd-dialog>header button,.td-sheet>header button{min-width:44px;min-height:44px;flex-shrink:0}
.fd-form,.td-form{min-width:0;padding:18px 20px 14px}
.fd-form fieldset,.td-form fieldset{min-width:0}
.fd-form footer,.td-sheet-footer{position:sticky;bottom:-1px;z-index:2;background:var(--fd-surface,var(--td-surface));padding:12px 0 10px;border-top:1px solid var(--fd-line,var(--td-line));margin-top:4px}
.fd-form footer>button,.td-sheet-footer button{min-height:46px;white-space:normal}
.fd-form :is(input,textarea,select),.td-form :is(input,textarea,select){scroll-margin-block:105px 120px;max-width:100%}
.fd-photo-item,.fd-results>button,.fd-log-row,.fd-ingredients article{overflow-wrap:anywhere;min-width:0}
.fd-dialog .fd-meal-photo{max-height:min(220px,35dvh);object-fit:contain}
.k-modal-layer,.k-drawer-layer{top:var(--k-visible-top,0px);bottom:auto;height:var(--k-visible-height,100dvh);box-sizing:border-box;padding: max(12px,var(--k-safe-top)) max(12px,var(--k-safe-right)) max(12px,var(--k-safe-bottom)) max(12px,var(--k-safe-left))}
.k-modal,.k-drawer{box-sizing:border-box;min-width:0;max-width:100%;max-height:100%;overflow:auto;scroll-padding-block:90px 100px}
.k-modal>header{position:sticky;top:0;z-index:3;background:var(--k-surface)}
.k-modal>header>button{min-width:44px;min-height:44px}.k-modal-actions{position:sticky;bottom:0;z-index:2;background:var(--k-surface);padding-block:10px;flex-wrap:wrap}.k-modal-actions button{min-height:44px}
.k-keyboard-open .k-mobile-nav{visibility:hidden;pointer-events:none}
@container kivo-today (min-width:650px){.td-top-grid,.td-body-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.td-quick{grid-template-columns:repeat(4,minmax(0,1fr))}.td-now{min-height:0}.td-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container kivo-food (min-width:680px){.fd-main-grid{grid-template-columns:minmax(0,1.25fr) minmax(240px,1fr)}.fd-prep-grid,.fd-nutrient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-quick{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container kivo-log (min-width:740px){.fd-food-form>fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:26px}.fd-food-form .fd-finder{grid-column:1;grid-row:1}.fd-food-form>fieldset>.fd-form-section:nth-child(2){grid-column:1;grid-row:2}.fd-food-form>fieldset>.fd-form-section:nth-child(3){grid-column:2;grid-row:1 / span 2;border-top:0;padding-top:0}.fd-food-form>fieldset>label{grid-column:1/-1}}
@media(max-width:600px){.fd-dialog,.td-sheet{width:calc(100% - var(--k-safe-left) - var(--k-safe-right) - 12px);max-height:calc(var(--k-visible-height,100dvh) - var(--k-safe-top) - var(--k-safe-bottom) - 12px);top:calc(var(--k-visible-top,0px) + var(--k-safe-top) + 6px);border-radius:18px;border-bottom:1px solid var(--fd-line,var(--td-line))}.fd-form,.td-form{padding-inline:16px}.fd-dialog>header,.td-sheet>header{padding:14px 16px 10px}.fd-dialog h2,.td-sheet h2{font-size:22px}.fd-form footer{display:flex}.k-modal-actions{justify-content:stretch}.k-modal-actions button{flex:1 1 auto}.k-topbar{padding-left:max(12px,var(--k-safe-left));padding-right:max(12px,var(--k-safe-right))}}
@media(max-height:500px){.fd-dialog>header,.td-sheet>header,.k-modal>header{padding-block:8px}.fd-dialog>header .fd-kicker,.td-sheet>header .td-kicker,.td-sheet>header p,.k-modal>header p{display:none}.fd-dialog h2,.td-sheet h2{font-size:20px;margin:0}.fd-form,.td-form{gap:12px}.td-now{min-height:0}.k-topbar{min-height:52px;height:auto}.k-modal-layer{align-items:start}.fd-dialog,.td-sheet{scroll-padding-block:64px 90px}}
@media(prefers-reduced-motion:reduce){.fd-dialog,.td-sheet,.k-modal,.k-main{scroll-behavior:auto;transition:none}}
