/* Warehouse directory only; shared cabinet tokens and control primitives. */
.wd-directory { min-width:0; }
.wd-directory [hidden] { display:none!important; }
.wd-heading,.wd-tools,.wd-toolbar,.wd-form-actions { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
/* Match catalogue()/productPage() composition. app.css applies 660px/auto
   margins and page padding to every header; reset those only for this header. */
.wd-directory .wd-heading { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;max-width:none;box-sizing:border-box;margin:0 0 16px;padding:0;text-align:left; }
.cabinet-content #app .wd-directory .wd-heading h1 { margin:0;font-size:24px;line-height:1.25;letter-spacing:-.6px; }
.cabinet-content #app .wd-directory .wd-detail-heading h1 { font-size:22px;line-height:1.35; }
.wd-back { display:flex;align-items:center;gap:4px;width:fit-content;max-width:100%;min-height:var(--dg-control,44px);margin:0 0 8px;color:var(--dragum-petrol);text-decoration:none; }
.wd-context { margin:0 0 8px;color:var(--dg-muted);font-size:13px; }
.wd-create-actions { display:flex;align-items:center;gap:8px;flex-wrap:nowrap; }
.wd-zones:empty { display:none; }
.wd-heading h1 { margin:0;overflow-wrap:anywhere; }
.wd-tools { gap:8px; }
.wd-directory button,.wd-directory input:not([type=checkbox]),.wd-directory select,.wd-icon { box-sizing:border-box;min-height:44px; }
.wd-directory button,.wd-directory select,.wd-directory summary { cursor:pointer; }
.wd-directory :is(input,select) { width:100%;min-width:0; }
.wd-toolbar { margin:16px 0;align-items:flex-start; }
.wd-toolbar>input { flex:1;min-width:160px;width:auto; }
.wd-list { display:grid;gap:0;margin-top:16px; }
.wd-row { display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--cabinet-border);min-width:0; }
.wd-row>a,.wd-place-name { flex:1;min-width:0; }
.wd-row>a { text-decoration:none;color:var(--cabinet-ink); }
.wd-row strong,.wd-row span { overflow-wrap:anywhere; }
.wd-row>a span,.wd-place-name>span { display:block;color:var(--cabinet-muted);font-size:13px;margin-top:4px; }
.wd-row>a:hover strong { color:var(--cabinet-accent);text-decoration:underline; }
.wd-archived { color:var(--cabinet-muted);background:var(--cabinet-bg); }
.wd-editor { margin:16px 0; }
.wd-editor h2 { margin-top:0; }
.wd-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.wd-directory label { display:flex;flex-direction:column;gap:6px;min-width:0; }
.wd-form-actions { justify-content:flex-end;margin-top:20px; }
.wd-directory [data-error] { color:var(--ui-error);padding:12px;background:#fff2f1;border-radius:10px;overflow-wrap:anywhere; }
.wd-directory [aria-invalid=true] { border-color:var(--ui-error); }
.wd-details { display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px; }
.wd-details dt { color:var(--cabinet-muted); }
.wd-details dd { margin:0;overflow-wrap:anywhere; }
.wd-zones { display:flex;gap:12px;flex-wrap:wrap;margin-top:16px; }
.wd-zone { display:flex;gap:8px;align-items:center;flex-wrap:wrap; }
.wd-history { display:grid;grid-template-columns:180px 160px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--cabinet-border); }
.wd-highlight { outline:2px solid var(--cabinet-accent);outline-offset:2px; }
.wd-editor [data-preview] ul { max-height:240px;overflow:auto; }
@media(max-width:600px) {
 .wd-fields { grid-template-columns:minmax(0,1fr); }
 .wd-row { flex-wrap:wrap;gap:8px; }
 .wd-row>.wd-tools { margin-left:auto; }
 .wd-row>a { flex-basis:100%; }
 .wd-heading>.actions { width:100%; }
 .wd-form-actions>button { flex:1; }
 .wd-history { grid-template-columns:1fr;gap:4px; }
 .wd-details { grid-template-columns:1fr;gap:6px; }
 .wd-details dd { margin-bottom:12px; }
}
.wd-toolbar>.ui-filter-disclosure { flex-basis:100%;width:100%;margin:0; }
/* A warehouse row opens its card; selection and label icons keep their own actions. */
.wd-warehouse-row { cursor:pointer;border-radius:8px; }
.wd-warehouse-row:hover { background:#edf3f2; }
.wd-selection { display:flex;align-items:center;gap:12px;min-height:44px;flex-wrap:wrap; }
.wd-warehouse-row>a { flex:1; }
@media(max-width:600px) {
 .wd-warehouse-row>a { flex:1 1 calc(100% - 64px); }
 .wd-warehouse-row>.wd-tools { margin-left:auto; }
}

.wd-heading .product-heading-copy { min-width:0; }

/* Directory tables use the cabinet table surface, statuses and row selection.
   Only the directory's columns and card layout differ from the product list. */
@media screen {
 /* :not(#matching-filter) in cabinet.css contributes ID specificity. */
 .cabinet-content #app .wd-directory form.wd-toolbar { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;max-width:none;margin:16px 0; }
 .cabinet-content #app .wd-directory form.wd-toolbar:has(.wd-create-actions) { grid-template-columns:minmax(0,1fr) auto auto; }
 /* catalogue(): full-width search/Find, then Filters/Reset on their own row.
    Places keep the explicitly requested V-04 inline order instead. */
 .cabinet-content #app .wd-directory form.wd-list-toolbar { grid-template-columns:minmax(0,1fr);row-gap:12px; }
 .wd-list-toolbar>.ui-filter-tools { justify-self:start; }
 .wd-search-controls { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0; }
 .wd-search-controls input { width:100%;min-width:0;margin:0; }
 .wd-toolbar>.ui-filter-disclosure { grid-column:1/-1; }
 .wd-toolbar>.ui-filter-disclosure:has(.ui-filter-summary[hidden]):has(.ui-filter-dialog[hidden]) { display:none; }
 .cabinet-content #app .wd-directory :is(.wd-toolbar button,.wd-heading button:not(.icon-button)) { min-height:var(--dg-control,44px);padding:8px 12px;border-radius:var(--dg-radius,8px);font-size:14px;font-weight:550;line-height:1.4;white-space:nowrap; }
 .wd-directory .wd-icon { color:var(--dragum-graphite); }
 .wd-toolbar { gap:8px;align-items:center; }
 .wd-toolbar>button { flex:none;width:auto;margin:0;white-space:nowrap; }
 .wd-toolbar>input { flex:1 1 220px;margin:0; }
 .wd-toolbar>.ui-filter-tools { flex:none; }
 .wd-directory .wd-heading { text-align:left; }
 .wd-directory .wd-heading .product-heading-copy { flex:1; }
 .cabinet-content main .wd-table-panel { padding:0;margin:16px 0;border-radius:var(--dg-radius,8px);overflow:hidden; }
 .wd-table { width:100%;border-collapse:collapse;table-layout:fixed; }
 .wd-table th,.wd-table td { padding:10px 12px;border-bottom:1px solid var(--cabinet-border);vertical-align:middle;text-align:left; }
 .wd-table th { height:calc(var(--dg-control,44px) + 20px);box-sizing:border-box;background:var(--catalog-subtle,#f1f5f6);font-size:12px;line-height:1.4;color:var(--dg-muted);font-weight:600;overflow-wrap:normal; }
 .wd-table th.wd-checkbox,.wd-table td.wd-checkbox { width:52px;padding:4px; }
 .wd-table th:nth-child(2) { width:44%; }
 .wd-table td { font-size:14px;overflow-wrap:anywhere; }
 .wd-table .wd-name a { display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--cabinet-ink); }
 .wd-table .wd-name a:hover { color:var(--cabinet-accent);text-decoration:underline; }
 .wd-table small { display:block;margin-top:4px;color:var(--cabinet-muted);font-size:13px;line-height:1.4; }
 .wd-table .wd-tools { gap:4px;justify-content:flex-end;flex-wrap:nowrap; }
 .wd-table th:last-child { width:calc(2 * var(--dg-control,44px) + 28px);text-align:right; }
 .wd-places-table th:last-child { width:calc(4 * var(--dg-control,44px) + 36px); }
 .wd-table tbody tr:last-child td { border-bottom:0; }
 .wd-directory .wd-selection { min-height:53px;padding:4px 4px 8px;box-sizing:border-box;border-bottom:1px solid var(--dg-border);gap:8px;background:var(--catalog-selected,#edf1f3);color:var(--dragum-petrol);font-size:13px; }
 .cabinet-content #app .wd-directory button.wd-sort { display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left; }
 .wd-sort-arrow { display:flex;flex:0 0 16px;color:var(--dragum-petrol); }
 .wd-sort-arrow svg { width:16px;height:16px; }
 .wd-sort-arrow.is-ascending { transform:rotate(180deg); }
 .wd-address-preview { grid-column:1/-1;margin:0;color:var(--cabinet-muted);font-size:13px; }
 .wd-empty { margin:0;padding:24px 8px;color:var(--cabinet-muted); }
}
@media screen and (max-width:767px) {
 .cabinet-content #app .wd-directory form.wd-toolbar,
 .cabinet-content #app .wd-directory form.wd-toolbar:has(.wd-create-actions) { display:flex;flex-wrap:wrap; }
 .wd-search-controls { flex:1 0 100%; }
 .wd-create-actions { margin-left:auto; }
 .wd-directory .wd-heading { grid-template-columns:minmax(0,1fr);align-items:start; }
 .cabinet-content #app .wd-directory .wd-detail-heading h1 { font-size:18px;line-height:1.35;letter-spacing:-.2px; }
 .wd-directory .wd-heading>.actions,.wd-directory .wd-heading>button { justify-self:end;width:auto; }
 .cabinet-content #app .wd-directory .wd-heading button.product-edit { padding:0; }
 .wd-toolbar>input { flex:1 1 calc(100% - 100px);width:0;min-width:0; }
 .wd-toolbar>.ui-filter-tools { flex:0 1 auto; }
 .cabinet-content main .wd-table-panel { padding:0; }
 .wd-table,.wd-table tbody { display:block; }
 .wd-table thead { display:none; }
 .wd-places-table thead,.wd-places-table thead tr { display:block; }
 .wd-places-table thead th { display:none; }
 .wd-places-table thead th[aria-sort] { display:block;width:auto;height:auto;margin:0;border:0;padding:0 8px 0 60px; }
 .wd-table tbody tr { display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 8px;padding:12px 8px;border-bottom:1px solid var(--cabinet-border); }
 .wd-table tbody tr:last-child { border-bottom:0; }
 .wd-table td { display:block;grid-column:2;min-width:0;padding:0;border:0; }
 .wd-table td.wd-checkbox { grid-column:1;grid-row:1;width:44px;padding:0; }
 .wd-table td.wd-name { grid-row:1; }
 .wd-table td[data-label]:not(.wd-name)::before { content:attr(data-label) ': ';display:inline;font-size:12px;color:var(--cabinet-muted); }
 .wd-table td[data-label=Действия]::before { display:none; }
 .wd-table .wd-name>strong { display:flex;align-items:center;min-height:44px; }
 .wd-table .wd-name a { align-items:flex-start; }
 .wd-table .wd-tools { flex-wrap:wrap; }
}
