/* 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}}

/* The app shell switches before a sidebar would squeeze a split window. */
@media(max-width:1100px){
  .k-main{margin-left:0;width:100%;max-width:100%;padding-bottom:calc(156px + var(--k-safe-bottom))}
  .k-sidebar{width:min(310px,88vw);visibility:hidden;transform:translateX(-102%);box-shadow:20px 0 60px #0002;z-index:90}
  .k-sidebar.open{visibility:visible;transform:translateX(0)}
  .k-menu-backdrop{display:block;position:fixed;inset:0;z-index:89;background:#11271d66;border:0}
  .k-mobile-brand{display:flex;align-items:center;gap:10px;min-width:0}
  .k-mobile-brand .kivo-logo{display:grid;width:68px;flex-shrink:0}
  .k-top-actions .k-search-button{display:flex}
  .k-close-menu{display:flex}
  .k-topbar{position:sticky;top:0;z-index:29;height:64px;padding:0 max(12px,var(--k-safe-right)) 0 max(12px,var(--k-safe-left));gap:12px}
  .k-shell-context{display:none}
  .k-top-actions{gap:4px;flex-shrink:0}
  .k-topbar .k-icon-button{min-width:44px;min-height:44px}
  .k-mobile-nav{display:grid;position:fixed;z-index:31;inset:auto 0 0;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(65px + var(--k-safe-bottom));padding:7px max(8px,var(--k-safe-right)) max(5px,var(--k-safe-bottom)) max(8px,var(--k-safe-left));border-top:1px solid var(--k-line);background:var(--k-surface)}
  .k-mobile-nav button{display:grid;place-items:center;align-content:center;gap:3px;min-width:0;min-height:48px;border:0;background:transparent;color:var(--k-muted)}
  .k-mobile-nav button span{font-size:12px}.k-mobile-nav button.active{color:var(--k-brand)}
  .k-app .k-command-dock{left:auto;right:max(14px,var(--k-safe-right));bottom:calc(78px + var(--k-safe-bottom));width:auto;max-width:calc(100% - 28px);transform:none;display:flex;gap:8px;align-items:center;justify-content:flex-end}
  .k-command-dock>.k-simple-direct-add{margin:0;min-height:46px;padding:10px 16px;box-shadow:0 3px 14px #173f3620;color:#fff}
  .k-command-dock-trigger{width:48px;height:46px;min-height:46px;padding:6px;display:flex;justify-content:center}
  .k-command-dock-trigger>span,.k-command-dock-trigger>kbd,.k-command-dock-trigger>svg:first-child{display:none}
  .k-command-dock-trigger>[data-command-icon]{display:grid}
  .k-app .k-command-dock[data-open=true]{left:auto;right:max(14px,var(--k-safe-right));width:min(420px,calc(100% - 28px));transform:none}
  .k-app .k-command-dock-panel{box-sizing:border-box;left:0;right:0;width:100%;min-width:0;grid-template-columns:1fr;max-height:calc(var(--k-visible-height,100dvh) - 170px);overflow-y:auto}
  .k-page-wrap,.k-redesigned.k-lists-page{box-sizing:border-box;width:calc(100% - 32px);max-width:1180px;padding-top:24px}
}
@media(max-width:420px){
  .k-topbar{gap:4px}.k-mobile-brand{gap:2px}.k-top-actions{gap:0}
  .k-topbar .k-add-button{display:none}
  .k-page-wrap,.k-redesigned.k-lists-page{width:calc(100% - 24px)}
}
.k-keyboard-open .k-command-dock{visibility:hidden;pointer-events:none}

/* Lists respond to their own usable column, including an unfolded split view. */
.k-lists-page{container:kivo-lists / inline-size;min-width:0}
.k-list-navigation{display:grid;gap:8px;margin:16px 0 20px;min-width:0}
.k-list-navigation label{font-size:14px;font-weight:700;color:var(--k-ink)}
.k-list-navigation select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:50px;padding:12px 38px 12px 14px;border:1px solid var(--k2-border-strong,var(--k-line));border-radius:12px;background:var(--k2-surface,var(--k-surface));color:var(--k-ink);font:inherit;font-size:16px;text-overflow:ellipsis}
.k-list-navigation select:focus-visible{outline:3px solid var(--k-brand);outline-offset:3px}
.k-redesigned.k-lists-page .k-lists-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;min-height:0;overflow:visible}
.k-redesigned.k-lists-page .k-list-library{display:none}
.k-redesigned.k-lists-page .k-lists-pulse{display:none}
.k-list-workspace{min-width:0;max-width:100%;box-sizing:border-box}
.k-list-workspace-header,.k-list-header-controls{flex-wrap:wrap;gap:12px}
.k-list-workspace-header>div{min-width:0;max-width:100%}
.k-list-workspace-header h2{overflow-wrap:anywhere;line-height:1.25}
.k-list-header-controls button,.k-list-toolbar button{min-height:44px}
.k-list-header-controls{justify-content:flex-start}
.k-list-item-row{min-width:0;gap:10px}
.k-list-item-row>div{min-width:0;overflow-wrap:anywhere}
.k-list-checkbox,.k-list-row-menu{min-width:44px;min-height:44px;flex-shrink:0}
.k-list-item-row strong,.k-list-item-row small{white-space:normal;overflow-wrap:anywhere}
.k-redesigned.k-lists-page>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.k-redesigned.k-lists-page>header h1{margin:0;font-size:30px;line-height:1.2}
.k-redesigned.k-lists-page>header p{margin:6px 0 0;font-size:14px}
.k-redesigned.k-lists-page>header>div>span{display:none}
.k-redesigned.k-lists-page>header>div:last-child{margin:0;padding:0}
.k-redesigned.k-lists-page .k-list-workspace-header{margin-bottom:12px;padding-bottom:12px}
.k-redesigned.k-lists-page .k-list-item-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;align-items:center;gap:8px;padding:12px 0}
.k-redesigned.k-lists-page .k-list-item-row>div{grid-column:2;grid-row:1;min-width:0}
.k-redesigned.k-lists-page .k-list-checkbox{grid-column:1;grid-row:1;width:44px;height:44px;margin:0}
.k-redesigned.k-lists-page .k-list-row-menu{width:44px;height:44px;padding:8px;margin:0}
.k-redesigned.k-lists-page .k-list-row-menu:first-of-type{grid-column:3}
.k-redesigned.k-lists-page .k-list-row-menu:last-child{grid-column:4}
.k-list-more-options{border-top:1px solid var(--k-line);margin-top:12px}
.k-list-more-options>summary{cursor:pointer;min-height:48px;padding:14px 0;font-size:14px;font-weight:600}
.k-list-more-options>.k-redesign-list-options{margin:0 0 14px;gap:8px}
.k-list-more-options button{min-height:44px}
.k-list-more-options input{font-size:16px}
@container kivo-lists (max-width:899px){
  .k-redesigned.k-lists-page>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
  .k-redesigned.k-lists-page>header>div{width:auto;min-width:0}
  .k-redesigned.k-lists-page>header>div:last-child{justify-content:flex-end}
  .k-redesigned.k-lists-page>header h1{font-size:26px}
  .k-redesigned.k-lists-page>header p{display:none}
  .k-list-workspace{padding:16px}
  .k-list-workspace-header{align-items:flex-start}
  .k-list-workspace-header h2{font-size:24px}
  .k-list-header-controls{width:100%}
  .k-list-tool-dock{display:flex;flex-wrap:wrap;gap:8px}
  .k-list-tool-dock>*{flex:1 1 130px;min-width:0}
  .k-list-item-row>em{display:none}
  .k-list-actions{margin:0 0 12px;gap:8px}
  .k-simple-list-tasks{padding:12px;margin-block:12px;gap:6px}
  .k-redesigned.k-lists-page .k-list-item-row{grid-template-columns:44px minmax(0,1fr) 44px;column-gap:10px;row-gap:0}
  .k-redesigned.k-lists-page .k-list-item-row>div,.k-redesigned.k-lists-page .k-list-checkbox{grid-row:1/span 2}
  .k-redesigned.k-lists-page .k-list-row-menu{grid-column:3;grid-row:1}
  .k-redesigned.k-lists-page .k-list-row-menu:last-child{grid-column:3;grid-row:2}
}
@container kivo-lists (min-width:900px){
  .k-redesigned.k-lists-page .k-lists-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:20px}
  .k-redesigned.k-lists-page .k-list-library{display:block}
  .k-redesigned.k-lists-page .k-list-library-items{display:grid;gap:8px;max-height:65dvh;overflow:auto;scrollbar-width:thin}
  .k-redesigned.k-lists-page .k-list-library-items>button{min-height:64px;padding:12px;min-width:0;max-width:100%}
}
