[hidden] { display: none !important; }
.stock-task { margin-top: 1rem; }
.stock-task > summary { cursor: pointer; padding: .75rem; font-weight: 700; }
.product-select { width: 100%; }
.form-status { min-height: 1.5em; overflow-wrap: anywhere; }
.form-status[data-error="true"], #login-error { color: var(--red); }
#stock-list, #review-list, #demo-results { margin: 1rem 0; }
.business-evidence { overflow-wrap: anywhere; }
#overview .summary-grid { margin-top: 1rem; }
#replacement-code { overflow-wrap: anywhere; }
/* Navigation additions inherit the existing colours and heading sizes. */
.product-submenu { display: grid; gap: .15rem; padding: .25rem 0 .5rem 2rem; }
.product-submenu .button { width: 100%; text-align: left; color: inherit; }
.product-submenu .button:hover, .product-submenu .button:focus-visible { background: #202a3c; color: #fff; }
.sidebar .settings-button { margin-top: auto; }
/* The content pane scrolls independently; navigation stays within the viewport. */
body.business-shell { height: 100dvh; overflow: hidden; }
.business-shell .app-shell { height: calc(100dvh - 76px); min-height: 0; }
.business-shell .main-content { min-height: 0; overflow-y: auto; }
.business-shell .sidebar { min-height: 0; overflow-y: auto; gap: .65rem; padding: .75rem .65rem; }
.business-shell .nav-list { gap: .15rem; }
.business-shell .nav-item { min-height: 36px; padding: .45rem .65rem; }
.business-shell .settings-button { margin-top: .5rem; }
.business-shell .product-submenu { gap: 0; padding: 0 0 .3rem 1.65rem; }
.business-shell .product-submenu .button { padding: .35rem .65rem; border: 0; background: transparent; box-shadow: none; }
.business-shell .product-submenu .button:hover { background: #202a3c; }
.business-shell .product-submenu .button:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.analytics-chart { width: 100%; height: auto; display: block; }
.device-code-link { display: inline-block; padding: 0; margin: .25rem 0 .75rem; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.pin-visibility-field { position: relative; }
.pin-visibility-field input { width: 100%; padding-right: 3rem; }
.pin-visibility-button { position: absolute; top: 0; right: .25rem; bottom: 0; width: 2.5rem; margin: 0; padding: .5rem; border: 0; background: transparent; color: inherit; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pin-visibility-button svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.pin-visibility-button:focus-visible, .device-code-link:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.pin-visibility-field input::-ms-reveal { display: none; }
@media (max-width: 900px) {
  .business-shell .app-shell { grid-template-rows: auto minmax(0, 1fr); }
  .business-shell .sidebar { position: static; display: flex; max-height: 35dvh; }
  .business-shell .nav-list { display: flex; flex-wrap: wrap; }
  .business-shell .product-submenu { flex-basis: 100%; display: flex; flex-wrap: wrap; padding-left: .5rem; }
  .business-shell .product-submenu .button { width: auto; }
  .business-shell .settings-button { width: auto; align-self: flex-start; margin-top: 0; }
}
@media (max-width: 640px) {
  .business-shell .app-shell { height: calc(100dvh - 68px); }
}
/* Access stays near System; Settings rests at the bottom of the bounded sidebar. */
.business-shell .business-access-panel { display: block; margin-top: .25rem; padding: .75rem; }
.business-shell .sidebar .settings-button { margin-top: auto; flex-shrink: 0; }
@media (max-width: 900px) {
  .business-shell .business-access-panel { padding: .5rem .75rem; }
  .business-shell .sidebar .settings-button { margin-top: .25rem; }
}

/* Header search uses the current palette and font sizes. Queries stay local. */
.workspace-search { position:relative; flex:0 1 420px; min-width:120px; margin:0 .75rem; }
.search-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.workspace-search input { width:100%; margin:0; padding:.45rem .65rem; font:inherit; font-size:.875rem; background:#fff; color:#102a43; border:1px solid #b7c9dc; border-radius:.4rem; }
.workspace-search-results { position:absolute; left:0; right:0; top:calc(100% + .35rem); max-height:55vh; overflow:auto; z-index:100; background:#fff; color:#102a43; border:1px solid #b7c9dc; border-radius:.4rem; box-shadow:0 4px 16px #102a4326; }
.workspace-search-results[hidden] { display:none !important; }
.workspace-search-result { width:100%; display:flex; flex-direction:column; gap:.15rem; text-align:left; padding:.65rem .75rem; font:inherit; font-size:.875rem; border:0; border-radius:0; background:#fff; color:#102a43; }
.workspace-search-result small { font-size:.75rem; color:#486581; }
.workspace-search-result:hover,.workspace-search-result.search-active,.workspace-search-result:focus-visible { background:#edf2f8; outline:2px solid #1261a0; outline-offset:-2px; }
.search-empty { margin:0; padding:.65rem; font-size:.875rem; }
.business-shell .topbar { gap:.4rem; position:relative; z-index:5; }
@media(max-width:640px) { .workspace-search { margin:0 .25rem; flex:1; } .business-shell .topbar .system-state { display:none; } }
/* Let the content height follow the header when search wraps on small screens. */
body.business-shell { display:grid; grid-template-rows:auto minmax(0,1fr); }
.business-shell .app-shell { height:100%; }
@media(max-width:640px) {
  .business-shell .topbar { height:auto; min-height:68px; flex-wrap:wrap; padding:.5rem .85rem; }
  .business-shell .topbar .workspace-search { flex-basis:100%; order:3; margin:.15rem 0; }
}

.catalogue-table-wrap { overflow-x:auto; max-width:100%; margin-block:0.75rem; }
.catalogue-table { width:100%; border-collapse:collapse; font:inherit; text-align:left; }
.catalogue-table th,.catalogue-table td { padding:0.65rem 0.75rem; border-bottom:1px solid var(--border, #cbd5e1); vertical-align:top; }
.catalogue-table th { font-size:0.85em; white-space:nowrap; }
.catalogue-table td { overflow-wrap:anywhere; min-width:6rem; }

/* Give product and daily-sales imports a full row below manual entry. */
#products-task > .form-layout,
#sales-task > .form-layout { grid-template-columns: minmax(0, 1fr); }
#products-task > .form-layout > .form-card,
#sales-task > .form-layout > .form-card { min-width: 0; }

/* Saved-shop Agentic workflow: retain the accepted navy palette and heading scale. */
.shop-analysis-hero { margin-top: 24px; }
.shop-analysis-hero .demo-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.shop-analysis-hero .demo-flow span:last-child { grid-column:1/-1; }
.shop-analysis-status { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:8px 0 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.2); }
.shop-analysis-status dt { opacity:.8; margin-bottom:6px; }
.shop-analysis-status dd { margin:0; font-weight:600; }
.shop-analysis-results { border:1px solid var(--line,#dce3ed); border-radius:16px; padding:24px; margin-top:20px; background:var(--surface,#fff); }
.shop-analysis-results .summary-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.shop-analysis-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
#agent-waiting-list { padding-left:20px; }
#agent-waiting-list li { margin-bottom:6px; }
@media(max-width:700px) { .shop-analysis-status { grid-template-columns:1fr; } .shop-analysis-results .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
