/* v17: scoped category controls. Main NS dictation rules remain unchanged. */
#categoryCatalog .md-text-entry{background:transparent}
#categoryCatalog .md-text-entry>.field-dictation{background:var(--catalog-accent)!important}
#categoryCatalog .md-text-entry>.field-dictation.recording{background:color-mix(in srgb,var(--catalog-accent) 72%,#152019)!important;outline-color:var(--catalog-tint)}
#categoryCatalog #catalogSearch{background:var(--catalog-tint);border:1px solid var(--catalog-accent);color:#152019}
#categoryCatalog #catalogSearch:focus{outline:1px solid var(--catalog-accent);outline-offset:-2px}
#categoryCatalog #closeCatalog{color:var(--catalog-accent);background:transparent;border:0;box-shadow:none;border-radius:0}
/* No spacing between rows; targets retain the whole row, not just the symbol. */
#categoryCatalog .catalog-product,#catalogSuggestions .catalog-product,#categoryCatalog .catalog-branch>summary{min-height:36px;padding:1px 0 1px 6px;margin:0;row-gap:0;line-height:1.2;border:0;border-bottom:.5px solid color-mix(in srgb,var(--catalog-accent,var(--skin-primary)) 20%,transparent);border-radius:0}
#categoryCatalog .catalog-branch{border-bottom:0}
#categoryCatalog .catalog-chevron{height:34px;min-height:34px}
#categoryCatalog .catalog-product>span:last-child,#catalogSuggestions .catalog-product>span:last-child{border-bottom:.5px solid #dceaf4}
/* One continuous rectangular action block. */
[data-screen=list] .bought-tab-wrap{gap:0;padding:0;margin:0;align-items:stretch}
[data-screen=list] .bought-tab-wrap button{height:56px;min-height:56px;margin:0;border-radius:0}
[data-screen=list] #emptyListButton{background:#e0e0e0;color:#252923;border:0;border-right:.5px solid #dceaf4}
/* Put safe-area padding inside each destination, so its background spans all of it. */
.bottom-nav{padding:0;align-items:stretch;min-height:calc(70px + env(safe-area-inset-bottom))}
.bottom-nav button{align-self:stretch;margin:0;padding:4px 2px calc(4px + env(safe-area-inset-bottom));min-height:70px;border-radius:0}
/* Identical 20px squares, centered on a shared 36px right control column. */
[data-screen=list] .shopping-row .check-button{width:36px;min-width:36px}
[data-screen=list] .shopping-row .check-button:before{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;box-sizing:border-box;border:1.5px solid #62665f;border-radius:2px;line-height:17px;font-size:16px;background:transparent}
[data-screen=list] .fake-check{width:20px;height:20px;flex:0 0 20px;box-sizing:border-box;border:1.5px solid #62665f;border-radius:2px;background:transparent}
[data-screen=list] .fake-check.checked{background:var(--skin-primary);border-color:var(--skin-primary);color:#fff}
[data-screen=list] .fake-check.checked:after{font-size:16px;line-height:17px}
[data-screen=list] .list-summary{padding-right:20px}
[data-screen=list] #selectAllButton{padding:0;min-height:44px;color:var(--list-muted)}
