/* Shared shell and control contracts; business layout remains in its module. */
html body.app-ready {
  --ink:var(--color-text);--muted:var(--color-muted);--paper:var(--color-page);--line:var(--color-border);--blue:var(--color-action);--orange:var(--color-brand);--red:var(--color-danger);--shadow:none;
  background:var(--color-page);color:var(--color-text);font:14px/1.571 var(--font-ui);font-synthesis:none;
}
html body.app-ready *,html body.app-ready *::before,html body.app-ready *::after{box-sizing:border-box}
html body.app-ready #mainContent{margin:0 0 0 var(--ui-rail);padding:24px;width:calc(100% - var(--ui-rail));max-width:none;min-width:0;background:var(--color-page)}
html body.app-ready #mainContent>header{display:flex;position:static;inset:auto;width:100%;height:auto;min-height:44px;margin:0 0 24px;padding:0;gap:24px;align-items:center;border:0;background:transparent;box-shadow:none}
html body.app-ready .header-brand{display:none}
html body.app-ready .header-page-title{display:block;position:static;inset:auto;transform:none;flex:1;min-width:0;width:auto;margin:0;padding:0;order:0}
html body.app-ready #pageTitle{display:block;margin:0;font-size:24px;line-height:32px;font-weight:600;color:var(--color-text);white-space:normal}
html body.app-ready #pageTitle:focus{outline:none}
html body.app-ready .header-search{order:1;position:static;transform:none;display:flex;align-items:center;gap:8px;width:min(30%,320px);max-width:320px;min-width:160px;height:var(--control-height);padding:0 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--control-radius)}
html body.app-ready .header-search input{border:0;min-height:0;height:32px;padding:0;box-shadow:none;background:transparent;font-size:13px}
html body.app-ready .header-search:focus-within{outline:2px solid var(--color-action);outline-offset:2px}
html body.app-ready .header-search input:focus-visible{outline:none}
html body.app-ready .header-search{position:relative;inset:auto}
html body.app-ready .feature-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;margin:0;padding:4px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--panel-radius);box-shadow:var(--overlay-shadow)}
html body.app-ready .feature-search-results[hidden]{display:none}
html body.app-ready .feature-search-results li{padding:8px 12px;border-radius:var(--control-radius);font-size:var(--text-sm);line-height:20px;color:var(--color-text);cursor:pointer}
html body.app-ready .feature-search-results li[aria-selected=true]{background:var(--color-action-soft);color:var(--color-action)}
html body.app-ready .feature-search-results .feature-search-empty{color:var(--color-muted);cursor:default}
html body.app-ready .workspace-hero .chip{display:inline-block}
html body.app-ready .header-actions{order:2;position:static;inset:auto;margin:0;gap:12px;align-items:center}
html body.app-ready .header-sync,html body.app-ready .header-tools{display:none}
html body.app-ready .account-button{display:flex;align-items:center;gap:8px;width:auto;max-width:180px;min-width:36px;min-height:36px;height:auto;border:1px solid var(--color-border);border-radius:var(--control-radius);padding:7px 12px;box-shadow:none;background:var(--color-surface);text-align:left;overflow:hidden}
html body.app-ready .account-button::before{content:none}
html body.app-ready .account-button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--color-text)}
html body.app-ready .account-button small{display:none}
html body.app-ready .workspace-context-bar{position:static;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;width:100%;padding:0;margin:0 0 16px;border:0;background:transparent;box-shadow:none}
html body.app-ready:has(:is(#russiaCatalog,#orders,#walletPage,#platformHub).active) .workspace-context-bar{display:none}
html body.app-ready .workspace-tabs{display:flex;flex-wrap:wrap;gap:8px;border:0;background:transparent;padding:0;border-radius:0}
html body.app-ready .workspace-tab{min-height:36px;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--color-muted);padding:7px 12px;box-shadow:none;font-size:13px;font-weight:500}
html body.app-ready .workspace-tab.active{background:var(--color-action-soft);color:var(--color-action);border-color:var(--color-action-soft)}
html body.app-ready .workspace-tab::after{display:none}
html body.app-ready .workspace-tab img{height:16px;width:24px;object-fit:contain}
html body.app-ready .workspace-context-meta{margin:0}
html body.app-ready .workspace-parallel-note{display:none}
html body.app-ready #mainContent>.page.active{border:1px solid var(--color-border);border-radius:var(--panel-radius);padding:24px;min-height:calc(100dvh - 140px);background:var(--color-surface);margin:0;max-width:100%;min-width:0}
html body.app-ready #mainContent>:is(#russiaCatalog,#walletPage,#orders).active{border:0;padding:0;min-height:0;background:transparent}
html body.app-ready :is(button.btn,.btn,.action-link){font:500 14px/20px var(--font-ui);border-radius:var(--control-radius);min-height:var(--control-height);padding:7px 12px;box-shadow:none;text-decoration:none;transform:none}
html body.app-ready :is(.btn.primary,.ozon-primary-action,.catalog-submit){background:var(--color-action);border-color:var(--color-action);color:var(--color-surface);background-image:none}
html body.app-ready :is(.btn.primary,.ozon-primary-action,.catalog-submit):hover:not(:disabled){background:var(--color-action-hover);border-color:var(--color-action-hover);box-shadow:none;transform:none}
html body.app-ready :is(.btn.secondary,.action-link){background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}
html body.app-ready :is(.btn.secondary,.action-link):hover:not(:disabled){background:var(--color-page);border-color:var(--color-muted);color:var(--color-text)}
html body.app-ready button:disabled{cursor:not-allowed;opacity:.5}
html body.app-ready :is(input,textarea,select){font:14px/20px var(--font-ui);color:var(--color-text);border-radius:var(--control-radius);border-color:var(--color-border);background-color:var(--color-surface);min-width:0;max-width:100%}
html body.app-ready :is(input,select):not([type=checkbox]):not([type=radio]):not([type=file]){min-height:var(--control-height);padding:7px 10px}
html body.app-ready :is(input[type=checkbox],input[type=radio]){accent-color:var(--color-action)}
html body.app-ready textarea{line-height:22px;padding:9px 10px}
html body.app-ready :is(input,textarea,select):focus{border-color:var(--color-action);box-shadow:none}
html body.app-ready :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-action);outline-offset:3px}
html body.app-ready :is(.panel,.card,.output-block,.store-card,.ozon-secondary){border-color:var(--color-border);border-radius:var(--panel-radius);background:var(--color-surface);box-shadow:none}
html body.app-ready .panel:hover{border-color:var(--color-border)}
html body.app-ready :is(th,td){font-size:14px;padding:12px 16px;border-color:var(--color-border);height:var(--table-row-height);line-height:22px}
html body.app-ready th{height:var(--table-heading-height);padding:9px 16px;background:var(--color-page);color:var(--color-muted);font-size:12px;font-weight:600}
html body.app-ready tr:hover td{background:var(--color-page)}
html body.app-ready :is(.table-wrap,.commerce-table,.wallet-table-wrap){max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
html body.app-ready :is(small,.muted,.field-note,.helper-text,.dialog-copy){color:var(--color-muted);font-size:12px;line-height:18px}
html body.app-ready label{font-size:13px;font-weight:500}
html body.app-ready h2{font-size:18px;line-height:26px;font-weight:600}
html body.app-ready h3{font-size:16px;line-height:24px;font-weight:600}
html body.app-ready .eyebrow{display:none}
html body.app-ready dialog{border:1px solid var(--color-border);border-radius:var(--dialog-radius);box-shadow:var(--overlay-shadow);color:var(--color-text)}
html body.app-ready dialog::backdrop{background:rgb(16 24 40 / 40%)}
html body.app-ready .text-btn{color:var(--color-action);font-size:13px;font-weight:500}
html body.app-ready .toast{z-index:200;max-width:min(480px,calc(100vw - 32px));font-size:14px;line-height:22px;border-radius:var(--control-radius);background:var(--color-text);padding:12px 16px}
/* Real destinations replace unbound placeholder counters. */
html body.app-ready #mainContent>#platformHub.active{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:24px;align-content:start;grid-template-areas:none;grid-template-rows:auto auto;min-height:0}
html body.app-ready #platformHub .workspace-hero{grid-area:auto;grid-column:1/-1;position:static;min-height:0;margin:0;padding:0 0 20px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;box-shadow:none}
html body.app-ready #platformHub .workspace-hero h2{margin:0;font-size:18px}
html body.app-ready #platformHub .workspace-hero::before,html body.app-ready #platformHub .workspace-hero::after{display:none}
html body.app-ready #platformHub .platform-workspace-grid{grid-area:auto;grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:0;width:100%;align-items:stretch}
html body.app-ready #platformHub .platform-workspace-card{display:flex;flex-direction:column;gap:12px;width:auto;max-width:none;min-width:0;min-height:240px;padding:20px;border:1px solid var(--color-border);border-radius:var(--panel-radius);background:var(--color-surface);box-shadow:none;transform:none}
html body.app-ready #platformHub .platform-card-brand{display:flex;align-items:center;justify-content:flex-start;margin:0 0 12px;padding:0;height:44px;border-radius:0;background:transparent;box-shadow:none}
html body.app-ready #platformHub .platform-card-brand img{width:116px;height:34px;object-fit:contain;object-position:left center}
html body.app-ready #platformHub .platform-card-brand span{display:none}
html body.app-ready #platformHub .platform-workspace-card h2{font-size:16px;line-height:24px;margin:0;color:var(--color-text)}
html body.app-ready #platformHub .platform-workspace-card p{font-size:12px;line-height:20px;margin:0;min-height:40px;color:var(--color-muted)}
html body.app-ready #platformHub .platform-card-actions{position:static;inset:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;margin-top:auto}
html body.app-ready #platformHub .platform-card-actions .btn{width:100%;max-width:none;box-shadow:none}
html body.app-ready #platformHub .platform-card-actions .text-btn{display:block;text-align:center;padding:6px}
html body.app-ready #platformHub .today-todos{grid-area:auto;grid-column:2;grid-row:2;position:static;inset:auto;align-self:start;width:auto;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
html body.app-ready #platformHub .today-todos h3{font-size:14px;margin:0 0 12px;color:var(--color-muted)}
html body.app-ready #platformHub .today-todos button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 0;border:0;border-bottom:1px solid var(--color-border);background:transparent;font:500 14px/22px var(--font-ui);color:var(--color-text);cursor:pointer;text-align:left}
html body.app-ready #platformHub .today-todos button::after{content:'→';color:var(--color-muted)}
html body.app-ready #platformHub .today-todos button:hover{color:var(--color-action)}
/* Catalog uses this shell instead of its former duplicate sidebar. */
html body.app-ready #russiaCatalog{font:14px/22px var(--font-ui);color:var(--color-text);--catalog-orange:var(--color-action)}
html body.app-ready #russiaCatalog .catalog-rail{display:none}
html body.app-ready #russiaCatalog .catalog-main{margin:0;padding:0}
html body.app-ready #russiaCatalog .catalog-main>h2{display:none}
html body.app-ready #russiaCatalog .catalog-tabs{min-height:36px;gap:8px;margin:0 0 16px;flex-wrap:wrap}
html body.app-ready #russiaCatalog .catalog-tabs button{font-size:14px;font-weight:500;min-height:36px;padding:7px 12px;color:var(--color-muted);border-radius:var(--control-radius)}
html body.app-ready #russiaCatalog .catalog-tabs button.selected{background:var(--color-action-soft);color:var(--color-action)}
html body.app-ready #russiaCatalog .catalog-panel{border-color:var(--color-border);border-radius:var(--panel-radius);padding:24px;min-height:0}
html body.app-ready #russiaCatalog .catalog-toolbar{gap:24px;padding-bottom:20px;border-color:var(--color-border)}
html body.app-ready #russiaCatalog .catalog-toolbar h3{font-size:18px;line-height:26px;font-weight:600;color:var(--color-text)}
html body.app-ready #russiaCatalog .catalog-toolbar p{font-size:12px;letter-spacing:normal;color:var(--color-muted)}
html body.app-ready #russiaCatalog .catalog-filters{grid-template-columns:minmax(100px,1fr) 165px 80px;width:min(480px,55%);gap:8px}
html body.app-ready #russiaCatalog .catalog-filters button{white-space:nowrap;min-width:72px;padding:7px 12px}
html body.app-ready #russiaCatalog .catalog-toolbar>button{flex-shrink:0;white-space:nowrap}
html body.app-ready #russiaCatalog .catalog-filters :is(input,select,button){font-size:13px;min-height:36px;border-radius:var(--control-radius);border-color:var(--color-border);color:var(--color-text)}
html body.app-ready #russiaCatalog .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:24px 0 0}
html body.app-ready #russiaCatalog .catalog-product{border:1px solid var(--color-border);border-radius:var(--panel-radius);background:var(--color-surface);box-shadow:none}
html body.app-ready #russiaCatalog .catalog-cover{border-radius:0;background:var(--color-page);box-shadow:none;aspect-ratio:1}
html body.app-ready #russiaCatalog .catalog-cover img{background:var(--color-surface)}
html body.app-ready #russiaCatalog .catalog-product-info{padding:16px}
html body.app-ready #russiaCatalog .catalog-product-info h4{text-align:left;font-size:14px;font-weight:600;line-height:22px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px;color:var(--color-text)}
html body.app-ready #russiaCatalog :is(.catalog-product-category,#catalogCount,.catalog-footnote){font-size:12px;line-height:18px;color:var(--color-muted)}
html body.app-ready #russiaCatalog .catalog-cost{font-size:14px;line-height:22px;color:var(--color-text);font-variant-numeric:tabular-nums;margin:8px 0}
html body.app-ready #russiaCatalog .catalog-platform{height:36px;min-height:36px;margin-top:8px;border-radius:var(--control-radius);background:var(--color-action);box-shadow:none}
@media(max-width:1180px){
  html body.app-ready #mainContent>#platformHub.active{grid-template-columns:1fr}
  html body.app-ready #platformHub .today-todos{grid-column:1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  html body.app-ready #platformHub .today-todos h3{grid-column:1/-1;margin-bottom:0}
  html body.app-ready #russiaCatalog .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}
@media(max-width:900px){
  html body.app-ready .header-search{display:none}
  html body.app-ready #russiaCatalog .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body.app-ready #russiaCatalog .catalog-toolbar{align-items:flex-start;flex-direction:column;gap:16px}
  html body.app-ready #russiaCatalog .catalog-filters{width:100%}
  html body.app-ready #platformHub .platform-workspace-grid{grid-template-columns:1fr}
  html body.app-ready #platformHub .platform-workspace-card{min-height:0}
}
@media(max-width:767px){
  html body.app-ready #mainContent{margin:0;padding:16px;width:100%;min-width:0}
  html body.app-ready #mainContent>header{min-height:44px;padding-left:52px;gap:12px;margin-bottom:20px}
  html body.app-ready #pageTitle{font-size:20px;line-height:28px}
  html body.app-ready .account-button{max-width:116px;min-height:44px}
  html body.app-ready .workspace-context-bar{flex-wrap:wrap;gap:12px}
  html body.app-ready .workspace-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap}
  html body.app-ready .workspace-tab{flex:0 0 auto;min-height:44px}
  html body.app-ready #mainContent>.page.active{padding:16px;min-height:0}
  html body.app-ready #mainContent>:is(#russiaCatalog,#walletPage,#orders).active{padding:0}
  html body.app-ready :is(button.btn,.btn,.action-link),html body.app-ready :is(input,select):not([type=checkbox]):not([type=radio]):not([type=file]){min-height:44px}
  html body.app-ready #mainContent>#platformHub.active{gap:20px}
  html body.app-ready #platformHub .workspace-hero{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:16px}
  html body.app-ready #platformHub .today-todos{grid-template-columns:1fr;gap:0}
  html body.app-ready #platformHub .today-todos h3{margin-bottom:8px}
  html body.app-ready #russiaCatalog .catalog-panel{padding:16px}
  html body.app-ready #russiaCatalog .catalog-tabs{gap:4px}
  html body.app-ready #russiaCatalog .catalog-tabs button{min-height:44px;padding:9px 10px}
  html body.app-ready #russiaCatalog .catalog-filters{grid-template-columns:minmax(0,1fr) 80px}
  html body.app-ready #russiaCatalog .catalog-filters select{grid-column:1/-1}
  html body.app-ready #russiaCatalog .catalog-filters input{grid-column:1}
  html body.app-ready #russiaCatalog .catalog-grid{gap:16px;padding-top:16px}
  html body.app-ready #russiaCatalog .catalog-product-info{padding:12px}
  html body.app-ready #russiaCatalog .catalog-platform{height:44px}
}
@media(max-width:440px){html body.app-ready #russiaCatalog .catalog-grid{grid-template-columns:1fr}}
