/* R21 W5 — дизайн-ревью: ширина контейнера, карточки кабинетов, таблица заказов на телефоне.
   Файл грузится после app.css и переопределяет его правила; app.css не правим. */

/* Широкий экран: колонка контента не растягивается на весь монитор. */
.main-content{max-width:1320px;margin-left:auto;margin-right:auto}

/* Фон боковой панели — на всю высоту страницы: рейл тянется по высоте оболочки, панель внутри остаётся на экране. */
.sidebar-rail{align-self:stretch;display:flex;flex-direction:column;background:#fcfdfd;border-right:1px solid var(--line)}
.sidebar-rail>.sidebar{border-right:0;background:transparent}

/* Страница кабинетов. */
.accounts-summary{margin:0;font-size:13px;color:var(--muted);white-space:nowrap}
.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;align-items:start}
@media (max-width:860px){.account-cards{grid-template-columns:minmax(0,1fr)}}
/* Двухколоночная страница на широком экране: карточки слева, пояснение о ключах справа. */
.accounts-layout{display:grid;gap:20px;align-items:start}
.accounts-layout .provisioning-note{margin-top:0;flex-direction:column;gap:12px;padding:20px}
.accounts-layout .provisioning-note p{max-width:none}
@media (min-width:1200px){
  .accounts-layout{grid-template-columns:minmax(0,1fr) 300px}
  .accounts-layout .provisioning-note{position:sticky;top:20px}
}
/* Перекрываем отступы и шрифты app.css, которые давали карточке двойные поля. */
.account-card .account-card-heading{padding:0 0 16px;border-bottom:1px solid var(--line)}
.account-card-heading .account-title h2{font-size:16px}
.account-card-heading .account-meta{margin-top:0;font-size:12px}
.account-card .account-review-note{padding:0;font-size:12px}
.account-card .capability-list{padding:0 0 4px}
.account-card .account-card-footer{margin:auto -22px -20px;padding:14px 22px;background:#fbfcfd;border-top:1px solid var(--line);display:block;font-size:11px}
.account-card .supply-actions{padding:0;margin-top:4px}
.shipping-profile .checkbox-label{font-size:12px!important;line-height:1.5;color:#23323c;padding:0;align-items:center}
.account-card{display:flex;flex-direction:column;gap:16px;padding:20px 22px}
.account-card.is-disabled{opacity:.9}
.account-card-heading{display:flex;gap:12px;align-items:flex-start}
.account-title{flex:1;min-width:0;display:grid;gap:4px;justify-items:start}
.account-title h2{margin:0;font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.account-meta{margin:0;font-size:12px;color:var(--muted)}
.account-card-heading>.status-badge{flex:none}
.account-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.account-metrics>div{padding:10px 12px;border:1px solid #edf0f3;border-radius:8px;background:#f8fafb;min-width:0}
.account-metrics dt{font-size:11px;color:var(--muted);line-height:1.35}
.account-metrics dd{margin:6px 0 0;font-size:18px;font-weight:600;color:#23323c;overflow-wrap:anywhere}
.account-metrics>div:last-child dd{font-size:13px;font-weight:500;line-height:1.4}
.account-state{margin:0;display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.45;color:#3d4f5a}
.account-state.is-error{color:#b42318}
.account-state.is-muted{color:var(--muted)}
.account-review-note{margin:0;font-size:12px;color:#8a5a00}
.account-actions{display:flex;flex-wrap:wrap;gap:8px}
.inline-form{display:inline-flex;margin:0}
.account-details{border-top:1px solid var(--line);padding-top:14px}
.account-details>summary{cursor:pointer;font-size:13px;font-weight:600;color:#23323c;list-style-position:inside}
.account-details[open]>summary{margin-bottom:14px}
.account-details .facts{padding:0 0 4px}
.account-details .capability-list{margin-top:2px}
.account-card-footer{margin:auto 0 0;font-size:11px;line-height:1.5;color:var(--muted)}

/* Форма отгрузки внутри карточки: подпись над полем, без рамки браузера у fieldset. */
.shipping-profile{gap:12px;margin-top:14px}
.shipping-profile>h3{margin:0;font-size:13px}
.shipping-profile>label:not(.checkbox-label){display:grid;gap:6px;font-size:12px;font-weight:500;margin:0}
.shipping-profile>label>input:not([type=checkbox]),
.shipping-profile>label>select{width:100%;min-height:40px;padding:9px 12px;font:inherit;font-size:13px}
.shipping-profile .checkbox-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:500;margin:0}
.shipping-profile .checkbox-label input{margin-top:2px}
.supply-shipping-type{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}
.supply-shipping-type legend{padding:0;margin:0 0 6px;font-size:12px;font-weight:600}
.supply-actions{display:flex;flex-wrap:wrap;gap:8px}
.shipping-profile .supply-shipping-type .checkbox-label{align-items:center}
.shipping-profile .supply-shipping-type input[type=radio]{flex:none;width:16px;height:16px;min-height:0;padding:0;margin:0}
.points-state{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.points-state.is-error{color:#b42318}

/* Таблица заказов: вторичный стиль строчных действий, одна первичная кнопка остаётся за панелью. */
.orders-table .row-action .button-primary{background:#fff;color:var(--teal);border-color:#b9d3cb;box-shadow:none}
.orders-table .row-action .button-primary:hover{background:#f3f9f7;color:var(--teal-dark);border-color:var(--teal)}
.wb-product-link{display:inline-block;margin-top:6px;font-size:12px;color:var(--teal);text-underline-offset:3px}
.product-cell .wb-product-link{margin-top:3px;font-size:10px}
.order-note{display:block;max-width:280px;margin-top:8px;padding:8px 10px;background:#fdecea;border:1.5px solid var(--red);border-radius:7px;color:#7a2a22;font-size:12px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.order-note b{display:block;margin-bottom:2px;color:#9a3a30;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.detail-line-copy .order-note{max-width:480px;font-size:13px}
.cell-secondary.order-hint{color:#9a7434;font-weight:550}
.account-name-row{display:flex;align-items:center;gap:8px;min-width:0}
.new-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#1f9d62;box-shadow:0 0 0 3px #e3f4ec}

/* Телефон: таблица заказов складывается в карточки строк, действие видно без прокрутки вправо. */
@media (max-width:760px){
  .main-content{padding-left:14px;padding-right:14px}
  .orders-table{min-width:0;font-size:12px}
  .orders-table thead{display:block}
  .orders-table thead tr{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #edf0f3}
  .orders-table thead th:not(.check-cell){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .orders-table thead th.check-cell{padding:0!important;width:auto!important;text-align:left!important}
  .orders-table,.orders-table tbody{display:block;width:100%}
  .orders-table tr.order-row{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;row-gap:8px;align-items:center;padding:14px 12px 12px;border-bottom:1px solid #edf0f3}
  .orders-table tr.order-row>td{display:block;width:auto!important;min-width:0;padding:0!important;border:0!important;text-align:left!important}
  .orders-table tr.order-row>td.check-cell{grid-column:1;grid-row:1 / span 7;align-self:start;padding-top:4px!important}
  .orders-table tr.order-row>td:not(.check-cell):not(.row-action){grid-column:2}
  .orders-table tr.order-row>td.row-action{grid-column:1 / -1;margin-top:6px}
  .orders-table tr.order-row>td.row-action .button{width:100%;justify-content:center;min-height:44px}
  .table-scroll{overflow:visible}
  .orders-table tr.order-row input[type=checkbox]{width:24px;height:24px}
  .orders-table tr.order-row a{display:inline-flex;align-items:center;min-height:24px}
  .shipping-profile .supply-shipping-type input[type=radio],.shipping-profile .checkbox-label input[type=checkbox]{width:24px;height:24px}
  .list-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .list-tabs::-webkit-scrollbar{display:none}
  .list-tab{flex:none}
}

/* Узкий телефон: карточки кабинетов в одну колонку. */
@media (max-width:460px){
  .account-metrics{grid-template-columns:1fr 1fr}
  .account-metrics>div:last-child{grid-column:1 / -1}
}

/* R21-D2 — дизайн-проход новых экранов: ячейки хранения, панель массовой сборки, легенда вкладок, короба WB.
   Язык тот же, что у страницы заказов: .panel / .panel-heading, .button-*, .orders-table, .small-note. */

/* Ячейки хранения: три панели, подписи над полями, таблица в стиле заказов. */
.storage-upload .panel-heading,.storage-add .panel-heading{align-items:flex-start;padding:18px 22px}
.storage-places .panel-heading{align-items:center;flex-wrap:wrap;row-gap:12px;padding:16px 22px}
.storage-upload .panel-heading h2,.storage-add .panel-heading h2,.storage-places .panel-heading h2{margin:0;font-size:15px}
.storage-upload .panel-heading .small-note,.storage-add .panel-heading .small-note{margin:6px 0 0;max-width:780px;line-height:1.55}
.storage-upload .panel-body,.storage-add .panel-body{padding:18px 22px 20px}
.storage-upload-form{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr) auto;gap:14px;align-items:end}
.storage-add-form{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(5,minmax(100px,1fr)) auto;gap:12px;align-items:end}
.storage-upload-form>label:not(.storage-dropzone),.storage-add-form>label{display:grid;gap:7px;font-size:12px;font-weight:550;color:#4a5a66;min-width:0}
.storage-upload-form select,.storage-add-form select,.storage-add-form input:not([type=checkbox]){width:100%}
.storage-upload-form .button,.storage-add-form .button{white-space:nowrap}
.storage-dropzone{position:relative;display:grid;gap:4px;align-content:center;min-height:78px;padding:12px 18px;border:1.5px dashed #b7cdc5;border-radius:10px;background:#fbfdfc;cursor:pointer;min-width:0;transition:border-color .15s,background .15s}
.storage-dropzone:hover{border-color:var(--teal);background:#f5faf8}
.storage-dropzone:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #147b6c16}
.storage-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.storage-dropzone-title{font-size:13px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.storage-dropzone-hint{font-size:11px;line-height:1.5;color:var(--muted)}
.storage-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-left:auto}
.storage-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.storage-filter select{min-height:38px;max-width:190px;padding:8px 30px 8px 10px;font-size:12px}
.storage-filter input[type=search]{width:250px;min-height:38px;padding:8px 10px;font-size:12px}
.storage-filter .button{min-height:38px}
.storage-export{margin:0;font-size:11px;color:var(--muted);white-space:nowrap}
.storage-export a{color:var(--teal);font-weight:550}
.storage-table{min-width:760px}
.storage-table th{padding:11px 12px}
.storage-table td{padding:12px;vertical-align:middle}
.storage-table input:not([type=checkbox]){width:100%;min-width:92px;min-height:36px;padding:7px 10px;font-size:12px}
.storage-table td[data-label="Примечание"] input{min-width:150px}
.storage-key{font-variant-numeric:tabular-nums;font-weight:550;white-space:nowrap}
.storage-qty{font-variant-numeric:tabular-nums;text-align:right}
.storage-changed{font-size:11px;line-height:1.5;color:var(--muted);white-space:nowrap}
.storage-changed span{display:block;font-size:10px;color:#98a2ab}
.storage-actions{white-space:nowrap}
.storage-actions form{display:inline-block;margin:0 6px 0 0;vertical-align:middle}
.storage-confirm{display:inline-block;vertical-align:middle}
.storage-confirm>summary{list-style:none;display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border:1px solid #dfe4e9;border-radius:7px;background:#fff;color:#5c6c78;font-size:11px;font-weight:550;cursor:pointer;box-shadow:0 1px 2px #213a4b04}
.storage-confirm>summary::-webkit-details-marker{display:none}
.storage-confirm>summary:hover,.storage-confirm[open]>summary{border-color:#e3c9c4;color:var(--red)}
.storage-confirm>form{display:block;margin:8px 0 0}
.storage-confirm>form .button{color:var(--red);border-color:#e3c9c4}
.storage-missing{color:#9a7434;font-weight:550}
.storage-table tr.storage-missing td{background:#fffcf5}
.storage-place{color:var(--teal-dark);font-weight:550}
.storage-pagination{padding:14px 22px;border-top:1px solid var(--line)}
.storage-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.storage-tiles li{display:grid;gap:4px;padding:12px 14px;border:1px solid #edf0f3;border-radius:8px;background:#f8fafb;min-width:0}
.storage-tile-value{font-size:20px;font-weight:600;line-height:1.2;color:#23323c;font-variant-numeric:tabular-nums}
.storage-tile-label{font-size:11px;line-height:1.35;color:var(--muted)}
.storage-tiles li.is-error{background:#fbefed;border-color:#efd9d5}
.storage-tiles li.is-error .storage-tile-value{color:#a3655c}
.storage-check .panel-body>.small-note{margin-top:14px}
.storage-upload,.storage-add,.storage-check{margin-bottom:18px}
.storage-apply{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0}

/* Панель массовой сборки: один заголовок, пояснение в одну строку, первичная кнопка и текстовые действия справа. */
.bulk-panel{margin:14px 0 0;padding:0}
.bulk-panel .panel-heading{padding:14px 20px}
.bulk-panel .panel-heading h2{font-size:14px;font-weight:600}
.bulk-panel .panel-body{padding:14px 20px 16px;display:grid;gap:12px}
.bulk-panel .panel-body>form{display:grid;gap:12px;margin:0}
.bulk-note{margin:0;font-size:12px;line-height:1.5;color:var(--muted);min-width:0}
.bulk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.bulk-actions .bulk-note{flex:1 1 340px}
.bulk-actions>.text-button,.bulk-actions>form:last-child{margin-left:auto}
.bulk-actions form{margin:0}
.bulk-panel progress{width:100%;height:10px;margin:0;accent-color:var(--teal)}
.bulk-skipped,.bulk-errors{margin:0;padding-left:18px;font-size:12px;line-height:1.6;color:#5c6c78}
.bulk-track .panel-heading{padding:14px 20px}
.bulk-track .panel-heading h2{font-size:14px;font-weight:600}
.bulk-track .panel-body{padding:12px 20px 16px;display:grid;gap:10px}
.bulk-groups{margin:0;padding-left:18px;font-size:12px;line-height:1.6;color:#5c6c78}
.bulk-rows{margin:0;padding:0;list-style:none;display:grid;gap:2px;max-height:240px;overflow:auto;font-size:13px}
.bulk-row{display:flex;gap:12px;align-items:baseline}
.bulk-row strong{min-width:7em;font-weight:600}
.bulk-row-waiting,.bulk-row-wb{color:var(--muted)}
.bulk-row-label{color:var(--teal)}
.bulk-row-error{color:#b3261e}
.bulk-retry{margin:0}
@media (min-width:761px){.bulk-actions .bulk-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Тулбар заказов: подпись выбора жирнее, кнопки одного размера; легенда вкладок — тихая подпись без рамки. */
.order-workspace .selection-toolbar strong{font-size:12px;font-weight:600;color:var(--ink)}
.order-workspace .toolbar-actions{align-items:center;flex-wrap:wrap;gap:10px}
.order-workspace .toolbar-actions .button{white-space:nowrap}
.order-workspace .selection-toolbar .auto-refresh{margin-left:10px;white-space:nowrap}
.order-workspace .tab-legend{margin:0;padding:10px 20px 0;font-size:12px;line-height:1.5;color:#8a96a0}

/* Короба WB на поставке: строки одного уровня, без вложенных карточек. */
.supply-box-create{display:grid;gap:12px}
.supply-box-create>h3{margin:0;font-size:14px;font-weight:600}
.supply-box-create .supply-note{margin:0}
.supply-box{display:grid;gap:12px;padding:16px 22px;border-top:1px solid var(--line)}
.supply-box-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.supply-box-heading h3{margin:0;font-size:14px;font-weight:600}
.supply-box-heading .small-note{margin:4px 0 0;font-size:11px}
.supply-scan-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.supply-scan-form>label{display:grid;gap:6px;flex:1 1 260px;font-size:12px;font-weight:550;color:#4a5a66;min-width:0}
.supply-scan-form input:not([type=checkbox]){width:100%;min-height:40px}
.supply-packed-list{list-style:none;margin:0;padding:0;border:1px solid #edf0f3;border-radius:8px;overflow:hidden}
.supply-packed-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff}
.supply-packed-list li+li{border-top:1px solid #edf0f3}
.supply-packed-list li>div{display:grid;gap:2px;min-width:0}
.supply-packed-list .supply-primary-link{font-weight:600}
.supply-packed-list .text-button{white-space:nowrap;max-width:none;color:#5c6c78}
.supply-empty-note,.supply-box-label-note{margin:0;font-size:12px;color:var(--muted)}
.supply-box-batch{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0}
.supply-box-batch .small-note{margin:0}

/* Телефон: таблицы ячеек хранения складываются в карточки строк с подписями колонок. */
@media (max-width:760px){
  .storage-upload .panel-heading,.storage-add .panel-heading,.storage-places .panel-heading{padding:16px}
  .storage-upload .panel-body,.storage-add .panel-body{padding:16px}
  .storage-upload-form{grid-template-columns:minmax(0,1fr)}
  .storage-upload-form>.button,.storage-add-form>.button{width:100%;justify-content:center}
  .storage-add-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storage-add-form>.button{grid-column:1 / -1}
  .storage-add-form>label:first-child{grid-column:1 / -1}
  .storage-toolbar{margin-left:0;width:100%}
  .storage-filter{width:100%}
  .storage-filter select,.storage-filter input[type=search]{flex:1 1 140px;width:auto;max-width:none}
  .storage-filter input[type=search]{flex:1 1 100%;width:100%}
  .storage-table{min-width:0}
  .orders-table.storage-table thead{display:none}
  .orders-table.storage-table,.orders-table.storage-table tbody{display:block;width:100%}
  .orders-table.storage-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:14px 16px;border-bottom:1px solid #edf0f3}
  .orders-table.storage-table td{display:block;min-width:0;width:auto;padding:0;border:0}
  .orders-table.storage-table td::before{content:attr(data-label);display:block;margin-bottom:5px;font-size:10px;color:var(--muted)}
  .orders-table.storage-table td:first-child,.orders-table.storage-table td[data-label="Примечание"],.orders-table.storage-table td.storage-changed{grid-column:1 / -1}
  .orders-table.storage-table input:not([type=checkbox]){min-height:40px;font-size:13px}
  .orders-table.storage-table td.storage-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .orders-table.storage-table td.storage-actions::before{display:none}
  .orders-table.storage-table .storage-actions form{margin:0;flex:1 1 120px}
  .orders-table.storage-table .storage-actions .button{width:100%;min-height:40px}
  .storage-confirm{flex:1 1 120px}
  .storage-confirm>summary{width:100%;min-height:40px;justify-content:center}
  .storage-pagination{padding:14px 16px}
  .order-workspace .tab-legend{padding:8px 16px 0}
}
@media (max-width:1100px){
  .storage-add-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .storage-add-form>.button{grid-column:1 / -1;justify-self:end}
}
