/* Склад использует палитру портала; полки остаются читаемыми в обеих темах. */
#warehouse-view-wrap { overscroll-behavior:contain; }
.wh-page { max-width:1540px;margin:0 auto;padding:32px 34px 90px;color:var(--text);font-size:13px; }
.wh-page button,.wh-modal button { font:inherit; }
.wh-heading { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px; }
.wh-eyebrow { font-size:10px;font-weight:750;color:var(--text3);letter-spacing:1.5px; }
.wh-heading h1 { font-family:'Sora',sans-serif;font-size:36px;letter-spacing:-1.4px;margin:8px 0;line-height:1.25;display:flex;align-items:center;gap:12px; }
.wh-heading-dot { width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 5px var(--green-dim); }
.wh-heading p,.wh-map-head p,.wh-section-heading p { color:var(--text2);margin:5px 0 0;font-size:12px;line-height:1.6; }
.wh-heading-actions,.wh-row-actions { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.wh-btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid var(--border2);border-radius:9px;cursor:pointer;color:var(--text);background:var(--bg3);font-size:12px;font-weight:650;white-space:nowrap;transition:background .16s,border-color .16s,transform .16s; }
.wh-btn svg,.wh-search svg,.wh-tabs svg,.wh-stat-icon svg,.wh-map-hint>svg { width:17px;height:17px;flex-shrink:0; }
.wh-btn:hover { background:var(--bg4);border-color:var(--accent); }
.wh-btn:active { transform:translateY(1px); }
.wh-btn:focus-visible,.wh-shelf:focus-visible,.wh-tabs button:focus-visible,.wh-modal-x:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
.wh-btn-primary { background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 15px -8px var(--accent); }
.wh-btn-primary:hover { background:var(--accent-dark);color:#fff; }
.wh-btn-quiet { background:transparent;border-color:transparent;color:var(--text2); }
.wh-btn-icon { width:36px;height:36px;padding:8px;background:transparent;border-color:var(--border); }
.wh-btn:disabled { opacity:.5;cursor:wait;transform:none; }
.wh-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:24px; }
.wh-stat { display:flex;align-items:center;gap:16px;padding:20px 21px;background:var(--bg2);border:1px solid var(--border);border-radius:13px; }
.wh-stat-icon { display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--accent-dim);color:var(--accent-h);flex-shrink:0; }
.wh-stat:nth-child(2) .wh-stat-icon { color:var(--green);background:var(--green-dim); }
.wh-stat:nth-child(3) .wh-stat-icon { color:var(--gold);background:var(--gold-dim); }
.wh-stat strong { display:block;font-family:'Sora',sans-serif;font-size:25px;line-height:1.25;letter-spacing:-.8px; }
.wh-stat strong small { font-family:inherit;font-size:14px;font-weight:450;color:var(--text3); }
.wh-stat span:not(.wh-stat-infinity) { display:block;color:var(--text2);font-size:10.5px;margin-top:5px; }
.wh-stat-infinity { font-size:30px;line-height:1; }
.wh-workspace { background:var(--bg2);border:1px solid var(--border);border-radius:15px;overflow:hidden; }
.wh-toolbar { display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 20px;border-bottom:1px solid var(--border); }
.wh-tabs { display:flex;gap:4px;flex-wrap:wrap; }
.wh-tabs button { display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:650;border:0;border-radius:8px;color:var(--text2);padding:9px 12px;background:transparent;white-space:nowrap; }
.wh-tabs button.active { background:var(--accent-dim);color:var(--accent-h); }
.wh-tabs button:hover { color:var(--text); }
.wh-search { display:flex;align-items:center;gap:9px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:9px;color:var(--text3);width:275px;flex-shrink:0; }
.wh-search input { min-width:0;width:100%;background:transparent;color:var(--text);border:0;outline:0;font:inherit;font-size:11.5px; }
.wh-search:focus-within { border-color:var(--accent);box-shadow:var(--ring); }
.wh-map-head,.wh-section-heading { display:flex;align-items:center;gap:12px;padding:22px 24px 15px; }
.wh-map-head>div:first-child,.wh-section-heading>div:first-child { flex:1; }
.wh-map-head h2,.wh-section-heading h2,.wh-panel-heading h2 { font-family:'Sora',sans-serif;font-size:16px;font-weight:650;margin:0;letter-spacing:-.35px; }
.wh-floor { margin:4px 22px 0;padding:22px 20px 0;border:1px solid var(--border);border-radius:12px;background:radial-gradient(ellipse at 50% 20%,var(--accent-dim),transparent 70%),var(--bg); }
.wh-racks { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px; }
.wh-rack-heading { display:flex;gap:10px;align-items:center;margin-bottom:13px; }
.wh-rack-marker { display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--border2);border-radius:8px;color:var(--accent-h);font-family:'JetBrains Mono',monospace;font-size:12px; }
.wh-rack-heading h3 { margin:0;color:var(--text);font-size:12px;font-weight:700; }
.wh-rack-heading>div { min-width:0;flex:1; }
.wh-rack-heading h3 { overflow-wrap:anywhere; }
.wh-rack-heading p { margin:4px 0 0;color:var(--text3);font-size:10px; }
.wh-rack-status { margin-left:auto;color:var(--green);font-size:9px;white-space:nowrap; }
.wh-rack-frame { padding:10px 7px 0;border-left:5px solid var(--border2);border-right:5px solid var(--border2);border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--bg3),var(--bg)); }
.wh-shelf { display:block;position:relative;width:100%;text-align:left;margin:0 0 9px;padding:9px 10px 11px;min-height:85px;cursor:pointer;border:1px solid var(--border);border-bottom:4px solid var(--border2);border-radius:6px 6px 3px 3px;background:var(--bg2);color:var(--text);transition:border-color .16s,background .16s,opacity .16s,box-shadow .16s; }
.wh-shelf:last-child { margin-bottom:0; }
.wh-shelf:hover { border-color:var(--accent);background:var(--bg3); }
.wh-shelf.selected { border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-dim); }
.wh-shelf.found { border-color:var(--green);box-shadow:0 0 0 1px var(--green-dim); }
.wh-shelf.dimmed { opacity:.3; }
.wh-shelf-top { display:flex;gap:8px;align-items:center;min-height:18px; }
.wh-shelf-code { display:inline-block;padding:3px 6px;border:1px solid var(--border2);border-radius:4px;background:var(--bg3);font:600 10px 'JetBrains Mono',monospace;color:var(--accent-h);white-space:nowrap; }
.wh-shelf-name { color:var(--text2);font-size:10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-width:0; }
.wh-shelf-top>svg { width:12px;height:12px;margin-left:auto;flex-shrink:0;color:var(--text3); }
.wh-shelf-low { width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0; }
.wh-shelf-goods { display:flex;align-items:end;gap:5px;margin-top:9px;min-height:24px; }
.wh-mini-box { display:flex;align-items:center;gap:5px;min-width:0;padding:5px 6px;border-radius:4px;background:var(--accent-dim);border:1px solid var(--border2);border-top:2px solid var(--accent);color:var(--text2);font-size:9px;max-width:46%; }
.wh-mini-box>span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.wh-mini-box>b { color:var(--text);font-size:10px; }
.wh-mini-infinite { border-top-color:var(--gold);background:var(--gold-dim); }
.wh-infinity { color:var(--gold);font-family:'Sora',sans-serif;font-size:19px;font-weight:600;line-height:.75; }
.wh-mini-box .wh-infinity { font-size:14px; }
.wh-shelf-empty { font-size:10px;color:var(--text3);border:1px dashed var(--border);padding:4px 9px;border-radius:4px; }
.wh-shelf-more { font-size:10px;color:var(--text3);align-self:center; }
.wh-rack-feet { display:flex;justify-content:space-between;padding:0 1px; }
.wh-rack-feet i { display:block;width:14px;height:10px;border-radius:0 0 2px 2px;background:var(--border2); }
.wh-rack-empty { min-height:80px;padding:18px 8px;color:var(--text3);font-size:11px; }
.wh-aisle { display:flex;align-items:center;gap:14px;justify-content:center;padding:18px;font-size:8px;letter-spacing:3px;color:var(--text3); }
.wh-aisle span { width:70px;height:1px;background:var(--border2); }
.wh-map-hint { display:flex;align-items:center;gap:10px;padding:20px 25px;font-size:11px;color:var(--text3); }
.wh-legend { margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:9px; }
.wh-legend i { display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:8px; }
.wh-legend i.wh-legend-infinite { background:var(--gold); }
.wh-shelf-panel { margin:20px 22px 22px;border:1px solid var(--border2);border-radius:11px;overflow:hidden; }
.wh-panel-heading { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--bg3); }
.wh-panel-heading h2 { font-size:14px;margin-top:6px; }
.wh-panel-heading .wh-eyebrow { font-size:8px; }
.wh-table-scroll { overflow:auto; }
.wh-table { border-collapse:collapse;width:100%;font-size:11px; }
.wh-table th { padding:12px 18px;background:var(--bg3);color:var(--text3);font-size:9px;letter-spacing:.5px;text-transform:uppercase;text-align:left;font-weight:650;white-space:nowrap; }
.wh-table td { border-top:1px solid var(--border);padding:15px 18px;color:var(--text2);vertical-align:middle; }
.wh-table tbody tr:hover { background:var(--bg3); }
.wh-table td strong { color:var(--text);font-size:12px;font-weight:600; }
.wh-table-sub { display:block;margin-top:5px;font-size:10px;line-height:1.5;color:var(--text3);max-width:290px;overflow-wrap:anywhere; }
.wh-table .wh-number { text-align:right;white-space:nowrap; }
.wh-stock-count { font-family:'JetBrains Mono',monospace;font-size:16px;color:var(--text); }
.wh-unit { font-size:10px;color:var(--text3); }
.wh-location { display:inline-block;border:1px solid var(--border2);background:var(--bg3);color:var(--accent-h);font:500 10px 'JetBrains Mono',monospace;padding:4px 7px;border-radius:5px; }
button.wh-location { cursor:pointer; }
.wh-badge { display:inline-flex;align-items:center;border:1px solid transparent;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:650;white-space:nowrap; }
.wh-badge-green { color:var(--green);background:var(--green-dim); }
.wh-badge-blue { color:var(--accent-h);background:var(--accent-dim); }
.wh-badge-gold { color:var(--gold);background:var(--gold-dim); }
.wh-badge-muted { color:var(--text3);background:var(--bg3);border-color:var(--border); }
.wh-link { padding:0;border:0;background:none;color:var(--accent-h);cursor:pointer;font:inherit; }
.wh-empty,.wh-state { padding:55px 24px;text-align:center;color:var(--text3); }
.wh-empty>svg { width:38px;height:38px;color:var(--text3);opacity:.65;margin-bottom:8px; }
.wh-empty h3 { font-size:15px;color:var(--text2);margin:10px 0 8px; }
.wh-empty p { max-width:470px;font-size:12px;line-height:1.7;margin:0 auto 20px; }
.wh-state p { margin:12px 0 20px;line-height:1.6; }
.wh-state-error { color:var(--red); }
.wh-spinner { display:inline-block;width:23px;height:23px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:wh-spin .8s linear infinite; }
.wh-is-loading { opacity:.6;pointer-events:none; }
@keyframes wh-spin { to { transform:rotate(360deg); } }
.wh-modal-bg { position:fixed;inset:0;z-index:var(--z-modal,9500);background:rgba(0,0,0,.65);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:22px;color:var(--text); }
.wh-modal { display:flex;flex-direction:column;width:min(960px,100%);max-height:92vh;max-height:92dvh;border:1px solid var(--border2);border-radius:17px;background:var(--bg2);box-shadow:var(--shadow);font-size:12px;overflow:hidden; }
.wh-modal>header { display:flex;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--border);flex-shrink:0; }
.wh-modal>header h2 { font-family:'Sora',sans-serif;font-size:21px;letter-spacing:-.5px;margin:0 0 8px; }
.wh-modal>header p { color:var(--text2);line-height:1.6;margin:0;font-size:12px; }
.wh-modal-x { display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;border:0;background:var(--bg3);border-radius:7px;width:29px;height:29px;flex-shrink:0;color:var(--text2);cursor:pointer; }
.wh-modal-x svg { display:block;width:18px;height:18px;flex-shrink:0; }
.wh-modal-body { padding:22px 26px;overflow-y:auto;overscroll-behavior:contain; }
.wh-modal>footer { display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:17px 26px;border-top:1px solid var(--border);flex-shrink:0; }
.wh-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0; }
.wh-field { display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:14px; }
.wh-field>span { font-size:10px;font-weight:650;letter-spacing:.2px;color:var(--text2); }
.wh-field input,.wh-field select,.wh-field textarea,.wh-ticket-search input { width:100%;min-width:0;border:1px solid var(--border2);border-radius:7px;background:var(--bg);color:var(--text);padding:10px 11px;font:inherit;font-size:12px;outline:0;box-sizing:border-box; }
.wh-field textarea { resize:vertical;line-height:1.6; }
.wh-field input:focus,.wh-field select:focus,.wh-field textarea:focus,.wh-ticket-search input:focus { border-color:var(--accent);box-shadow:var(--ring); }
.wh-form-grid .wh-field { margin-bottom:0; }
.wh-form-section { margin:20px 0 14px; }
.wh-form-section h3 { font-size:13px;margin:0 0 6px; }
.wh-form-section p,.wh-muted { font-size:11px;color:var(--text3);line-height:1.65;margin:6px 0 14px; }
.wh-form-error { padding:0 26px;color:var(--red);line-height:1.6;font-size:12px; }
.wh-form-error:not(:empty) { padding-bottom:14px; }
.wh-upload { position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed var(--border2);border-radius:10px;padding:23px 18px;cursor:pointer;background:var(--bg);text-align:center; }
.wh-upload:hover { border-color:var(--accent);background:var(--accent-dim); }
.wh-upload>svg { width:25px;height:25px;color:var(--accent-h); }
.wh-upload>strong { font-size:13px; }
.wh-upload>span { font-size:11px;color:var(--text3);max-width:480px;line-height:1.6; }
.wh-upload>input { position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer; }
#wh-preview-status { margin-top:12px;color:var(--text2);font-size:12px; }
.wh-notice { padding:12px 14px;border:1px solid var(--gold-dim);background:var(--gold-dim);color:var(--gold);border-radius:8px;font-size:11px;line-height:1.7;margin-bottom:10px; }
.wh-notice-blue { border-color:var(--accent-dim);background:var(--accent-dim);color:var(--accent-h); }
.wh-receipt-line { display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);background:var(--bg3);border-radius:9px;padding:14px 11px;margin-bottom:11px; }
.wh-line-number { display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:var(--bg2);border-radius:5px;color:var(--text3);font:500 10px 'JetBrains Mono',monospace;margin-top:22px; }
.wh-receipt-fields { flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,2.5fr) minmax(80px,1fr) 86px 55px;gap:10px; }
.wh-receipt-fields .wh-field { margin-bottom:0; }
.wh-item-shelf { grid-column:1 / 3; }
.wh-check { display:flex;align-items:center;gap:7px;color:var(--text2);font-size:10px;line-height:1.5;grid-column:3 / 5;cursor:pointer; }
.wh-check input { width:14px;height:14px;accent-color:var(--accent);flex-shrink:0; }
.wh-check b { font-size:20px;color:var(--gold); }
.wh-check-large { margin:10px 0;font-size:12px; }
.wh-line-delete { width:25px;height:25px;flex-shrink:0;background:none;border:0;color:var(--text3);font-size:21px!important;cursor:pointer;margin-top:18px; }
.wh-line-delete:hover { color:var(--red); }
.wh-source { border:1px solid var(--border);border-radius:8px;margin-top:20px;padding:12px;color:var(--text2); }
.wh-source summary { cursor:pointer;font-size:11px; }
.wh-source pre { white-space:pre-wrap;font:11px/1.7 'JetBrains Mono',monospace;color:var(--text3);max-height:220px;overflow:auto;user-select:text;-webkit-user-select:text; }
.wh-ticket-search { display:flex;gap:9px;margin-bottom:12px; }
.wh-ticket-result { display:flex;gap:12px;align-items:center;cursor:pointer;background:var(--bg3);color:var(--text2);border:1px solid var(--border);padding:10px 12px;border-radius:7px;margin-bottom:6px;width:100%;text-align:left; }
.wh-ticket-result:hover { border-color:var(--accent); }
.wh-ticket-result b { color:var(--accent-h);font-size:10px;white-space:nowrap; }
.wh-ticket-result span { font-size:12px; }
.wh-chosen-ticket { display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px;background:var(--accent-dim);border:1px solid var(--border2);border-radius:9px;margin:10px 0 18px; }
.wh-chosen-ticket strong { font-size:12px; }
.wh-chosen-ticket>span:last-child { flex-basis:100%;font-size:10px;color:var(--text2); }
.wh-issue-line { display:grid;grid-template-columns:20px minmax(0,1fr) 95px 24px;gap:10px;align-items:start;margin-bottom:7px; }
.wh-qr-card { display:flex;flex-direction:column;align-items:center;border:1px solid var(--border2);border-radius:13px;max-width:320px;margin:0 auto 18px;padding:24px;background:var(--bg); }
.wh-qr-card h3 { font-family:'JetBrains Mono',monospace;font-size:30px;margin:10px 0 0; }
.wh-qr-card p { font-size:13px;color:var(--text2);margin:8px 0 18px; }
.wh-qr-card img { width:210px;max-width:100%;background:white;border:10px solid white;border-radius:8px;box-sizing:border-box; }
.wh-qr-card>span:last-child { color:var(--text3);font-size:10px;line-height:1.7;margin-top:15px;text-align:center;max-width:200px; }
.wh-print-sheet { display:none; }
.wh-history-more { padding:18px;text-align:center;border-top:1px solid var(--border); }
.wh-btn-danger { color:var(--red);border-color:var(--red);background:var(--bg3); }
.wh-btn-danger:hover { color:var(--red);background:var(--bg4); }
.wh-layout-racks { display:flex;flex-direction:column;gap:17px;margin:17px 0; }
.wh-layout-rack { min-width:0;padding:15px;border:1px solid var(--border2);border-radius:10px;background:var(--bg); }
.wh-layout-rack-head { display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:13px; }
.wh-layout-title { min-width:0;flex:1; }
.wh-layout-title h3 { margin:8px 0 5px;font-size:14px;color:var(--text);overflow-wrap:anywhere; }
.wh-layout-title p { margin:0;font-size:11px;color:var(--text3); }
.wh-layout-rack .wh-row-actions { gap:5px; }
.wh-layout-rack .wh-row-actions .wh-btn { padding:6px 8px;font-size:11px; }
.wh-layout-rack .wh-btn:disabled { cursor:not-allowed; }
.wh-layout-shelves { display:flex;flex-direction:column;border-top:1px solid var(--border);margin-bottom:8px; }
.wh-layout-shelf { display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border); }
.wh-layout-shelf-name { min-width:0;font-size:12px;color:var(--text2);overflow-wrap:anywhere; }
.wh-layout-shelf-status { color:var(--text3);font-size:10px;white-space:nowrap; }
.wh-form-error { overflow-wrap:anywhere; }
@media(max-width:620px) {
  .wh-layout-rack { padding:12px; }
  .wh-layout-rack-head { flex-wrap:wrap;gap:10px; }
  .wh-layout-title { flex-basis:100%; }
  .wh-layout-rack-head>.wh-row-actions { width:100%; }
  .wh-layout-shelf { grid-template-columns:auto minmax(0,1fr);gap:8px; }
  .wh-layout-shelf-status { grid-column:2; }
  .wh-layout-shelf>.wh-row-actions { grid-column:1 / -1; }
}
/* Одна термоэтикетка на страницу. Размер @page добавляется JS только на время печати. */
.wh-ticket-group { margin:14px 0; }
.wh-ticket-group h4 { color:var(--text2);font-size:11px;margin:0 0 7px; }
.wh-ticket-result { flex-direction:column;align-items:stretch;gap:5px; }
.wh-ticket-result-main { display:flex;align-items:baseline;gap:9px;flex-wrap:wrap; }
.wh-ticket-result-main strong { color:var(--text);font-size:12px;overflow-wrap:anywhere; }
.wh-ticket-result:disabled { opacity:.65;cursor:not-allowed; }
.wh-ticket-result small { display:block;color:var(--gold);font-size:10px;line-height:1.5; }
.wh-receipt-print-option { margin:12px 0;grid-column:auto;font-size:12px; }
.wh-label-summary { width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:10px;margin:8px 0;cursor:pointer; }
.wh-label-summary img { width:48px;height:48px;object-fit:contain;background:white;flex-shrink:0; }
.wh-label-summary span { display:flex;flex-direction:column;gap:6px;min-width:0; }
.wh-label-summary strong { font-size:12px;overflow-wrap:anywhere; }
.wh-label-summary small { font-size:10px;color:var(--text2); }
.wh-item-card { display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:start; }
.wh-item-qr { width:180px;height:180px;background:white;object-fit:contain; }
.wh-item-card h3 { font-size:18px;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere; }
.wh-item-card dl { margin:12px 0; }
.wh-item-card dt { color:var(--text3);font-size:11px;margin:11px 0 5px; }
.wh-item-card dd { color:var(--text);font-size:13px;line-height:1.5;margin:0;overflow-wrap:anywhere; }
.wh-thermal-label { box-sizing:border-box;width:60mm;height:40mm;padding:2mm;display:flex;flex-direction:column;gap:1mm;overflow:hidden;background:#fff;color:#000;font-family:Arial,sans-serif; }
.wh-thermal-label h2 { flex-shrink:0;height:9mm;max-height:9mm;overflow:hidden;margin:0;font:bold 8pt/3mm Arial,sans-serif;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3; }
.wh-thermal-row { display:flex;gap:2mm;min-height:0;height:24mm;align-items:flex-start; }
.wh-thermal-row>img { width:24mm;height:24mm;min-width:24mm;max-width:none;margin:0;background:#fff;image-rendering:pixelated;object-fit:contain; }
/* Несжимаемые области не дают длинному месту хранения вытеснить дату. */
.wh-thermal-info { width:30mm;min-width:0;height:24mm;overflow:hidden;display:flex;flex-direction:column;gap:.75mm;text-align:left; }
.wh-thermal-info strong,.wh-thermal-info span,.wh-thermal-info b { flex-shrink:0;margin:0;overflow:hidden;font:7pt/3mm Arial,sans-serif;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical; }
.wh-thermal-info strong { height:6mm;font-weight:bold;-webkit-line-clamp:2; }
.wh-thermal-info span { height:9mm;-webkit-line-clamp:3; }
.wh-thermal-info b { height:3mm;-webkit-line-clamp:1; }
.wh-thermal-info small { flex-shrink:0;height:2.5mm;overflow:hidden;white-space:nowrap;font:6pt/2.5mm Arial,sans-serif; }
@media print {
  html.wh-printing,body.wh-printing { display:block!important;position:static!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;width:60mm!important;min-width:0!important;background:#fff!important;background-image:none!important; }
  body.wh-printing>*,body.wh-printing>#view-storage { display:none!important; }
  body.wh-printing>.wh-print-sheet { display:block!important;margin:0!important;padding:0!important;width:60mm!important;background:#fff!important;color:#000!important; }
  .wh-thermal-label { break-inside:avoid;break-after:page;page-break-inside:avoid;page-break-after:always;print-color-adjust:exact;-webkit-print-color-adjust:exact; }
  .wh-thermal-label:last-child { break-after:auto;page-break-after:auto; }
  .wh-thermal-label * { color:#000!important;box-shadow:none!important;text-shadow:none!important; }
}
@media(max-width:620px) { .wh-item-card { grid-template-columns:1fr;gap:14px; } .wh-item-qr { width:150px;height:150px;justify-self:center; } .wh-ticket-result-main { gap:5px; } }

@media(max-width:1200px) { .wh-page { padding:26px 22px 80px; } .wh-racks { gap:15px; } .wh-rack-status { display:none; } .wh-heading { align-items:flex-start; } .wh-stat { padding:16px 14px;gap:11px; } .wh-legend { display:none; } .wh-mini-box { padding:4px; } }
@media(max-width:960px) { .wh-heading { flex-direction:column;gap:15px; } .wh-heading-actions { width:100%; } .wh-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .wh-toolbar { flex-direction:column;align-items:stretch;gap:12px; } .wh-search { width:auto; } .wh-floor { margin:4px 13px 0;padding:17px 12px 0; } .wh-racks { gap:12px; } .wh-shelf { padding:8px 6px 10px; } .wh-shelf-name { display:none; } .wh-shelf-goods { flex-wrap:wrap; } .wh-mini-box { max-width:100%; } .wh-mini-box:nth-child(3) { display:none; } .wh-map-head { padding:20px 17px 15px;flex-wrap:wrap; } .wh-map-head>div:first-child { flex-basis:100%; } .wh-table td,.wh-table th { padding:12px 13px; } .wh-shelf-panel { margin:18px 13px; } }
@media(max-width:620px) { .wh-page { padding:22px 12px 100px; } .wh-heading h1 { font-size:29px; } .wh-heading p { max-width:310px; } .wh-eyebrow { font-size:8px;letter-spacing:1.1px; } .wh-heading-actions { gap:7px; } .wh-heading-actions .wh-btn { font-size:10px;padding:10px 11px; } .wh-heading-actions .wh-btn-icon { display:none; } .wh-stats { gap:8px;margin-bottom:16px; } .wh-stat { gap:10px;padding:14px 12px;border-radius:10px; } .wh-stat strong { font-size:21px; } .wh-stat span:not(.wh-stat-infinity) { font-size:9px; } .wh-stat-icon { width:33px;height:33px;border-radius:9px; } .wh-stat-icon svg { width:15px;height:15px; } .wh-toolbar { padding:12px 10px; } .wh-tabs { gap:0;justify-content:space-between; } .wh-tabs button { gap:5px;padding:8px;font-size:10px; } .wh-tabs svg { width:14px;height:14px; } .wh-map-head h2,.wh-section-heading h2 { font-size:14px; } .wh-map-head p,.wh-section-heading p { font-size:10px; } .wh-map-head .wh-btn { font-size:10px;padding:6px 0; } .wh-floor { margin:0 8px;padding:13px 8px 0;overflow-x:auto; } .wh-racks { min-width:650px;gap:15px; } .wh-rack-heading h3 { font-size:11px; } .wh-shelf-name { display:inline; } .wh-shelf { min-height:85px; } .wh-rack-heading p { font-size:9px; } .wh-rack-marker { width:25px;height:25px;font-size:10px; } .wh-map-hint { padding:18px 14px;font-size:10px;align-items:flex-start;line-height:1.7; } .wh-map-hint>svg { margin-top:2px; } .wh-shelf-panel { margin:14px 8px; } .wh-panel-heading { padding:13px 11px;flex-wrap:wrap; } .wh-panel-heading .wh-row-actions { gap:7px; } .wh-panel-heading .wh-btn { padding:7px 9px;font-size:10px; } .wh-panel-heading .wh-btn-icon { width:29px;height:29px; } .wh-table { min-width:610px; } .wh-table td,.wh-table th { padding:12px 10px; } .wh-table td strong { font-size:11px; } .wh-table-sub { font-size:9px; } .wh-section-heading { padding:20px 14px 15px;flex-wrap:wrap; } .wh-empty { padding:34px 18px; } .wh-empty p { font-size:11px; } .wh-modal-bg { padding:9px;align-items:center; } .wh-modal { max-height:96dvh;border-radius:12px; } .wh-modal>header { padding:18px 16px 15px;gap:12px; } .wh-modal>header h2 { font-size:18px; } .wh-modal>header p { font-size:10px; } .wh-modal-body { padding:16px; } .wh-modal>footer { padding:13px 16px;gap:7px; } .wh-modal>footer .wh-btn { font-size:11px;padding:9px 12px; } .wh-form-grid { grid-template-columns:1fr;gap:12px; } .wh-receipt-line { padding:12px 8px;gap:7px; } .wh-receipt-fields { grid-template-columns:minmax(0,1fr) 70px;gap:10px; } .wh-item-name { grid-column:1 / 3; } .wh-receipt-fields .wh-field:nth-child(2) { grid-column:1;grid-row:2; } .wh-receipt-fields .wh-field:nth-child(3) { grid-column:2;grid-row:2; } .wh-receipt-fields .wh-field:nth-child(4) { grid-column:2;grid-row:3; } .wh-receipt-fields .wh-item-shelf { grid-column:1;grid-row:3; } .wh-check { grid-column:1 / 3; } .wh-line-number { width:16px; } .wh-line-delete { width:19px; } .wh-field input,.wh-field select,.wh-field textarea { padding:10px 8px;font-size:12px; } .wh-issue-line { grid-template-columns:minmax(0,1fr) 70px 18px;gap:7px; } .wh-issue-line>.wh-line-number { display:none; } .wh-ticket-search { gap:7px; } .wh-ticket-search .wh-btn { padding:9px 12px; } .wh-form-error { padding-left:16px;padding-right:16px; } }
/* По QR на телефоне название и количество видны вместе, без прокрутки таблицы. */
@media(max-width:620px) {
  .wh-shelf-panel .wh-table-scroll { overflow:visible; }
  .wh-shelf-panel .wh-table,.wh-shelf-panel .wh-table tbody { display:block;min-width:0;width:100%; }
  .wh-shelf-panel .wh-table thead { display:none; }
  .wh-shelf-panel .wh-table tr { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:14px 11px;border-bottom:1px solid var(--border); }
  .wh-shelf-panel .wh-table td { display:block;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere; }
  .wh-shelf-panel .wh-table td:nth-child(1) { grid-column:1;grid-row:1; }
  .wh-shelf-panel .wh-table td:nth-child(2) { grid-column:1;grid-row:2; }
  .wh-shelf-panel .wh-table td:nth-child(3) { grid-column:2;grid-row:1;min-width:48px; }
  .wh-shelf-panel .wh-table td:nth-child(4) { grid-column:1;grid-row:3; }
  .wh-shelf-panel .wh-table td:nth-child(5) { grid-column:2;grid-row:2 / 4;align-self:end; }
  .wh-shelf-panel .wh-table td:nth-child(5) .wh-row-actions { justify-content:flex-end; }
}
@media(prefers-reduced-motion:reduce) { .wh-btn,.wh-shelf { transition:none; } .wh-spinner { animation-duration:1.6s; } }

/* Общая вкладка техники и текущий комплект сотрудника. */
.equipment-mode-bar { flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg2); }
.equipment-mode-tabs { display:flex;flex-wrap:wrap;gap:8px;width:100%;margin:0;padding:12px 16px; }
/* Только переключатель и действия шапки: формы и термоэтикетки сохраняют свои размеры. */
.equipment-mode-tabs button,.wh-heading-actions .wh-btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;font:600 14px/20px 'Inter Tight',Arial,sans-serif; }
.equipment-mode-tabs button { border-radius:8px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);cursor:pointer;transition:background .16s,border-color .16s; }
.equipment-mode-tabs button.active { background:var(--accent);color:#fff;border-color:var(--accent); }
.equipment-mode-tabs button:not(.active):hover { background:var(--bg4);border-color:var(--accent);color:var(--text); }
.equipment-mode-tabs button:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
.wh-heading-actions .wh-btn-icon { width:42px;height:42px;padding:10px; }
.wh-heading-actions .wh-btn svg { width:18px;height:18px; }
@media(max-width:768px) { .equipment-mode-tabs { padding:12px 12px; } }
.eq-heading { align-self:start;padding-top:8px; }
.eq-row { display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border); }
.eq-row-main { flex:1;min-width:140px;overflow-wrap:anywhere; }
.eq-row-main strong,.eq-row-main small { display:block; }
.eq-row-main small { color:var(--text3);font-size:11px;margin-top:4px; }
.eq-actions { display:flex;flex-wrap:wrap;gap:6px;margin-top:10px; }
.eq-error { color:var(--red);font-size:12px;padding:8px 0; }
[data-pc-config][hidden] { display:none!important; }
@media(max-width:620px) { .eq-heading,#employee-equipment { grid-column:1/-1; } .equipment-mode-tabs { padding:10px 12px; } .equipment-mode-tabs button,.wh-heading-actions .wh-btn { font-size:13px; } .wh-heading-actions .wh-btn-icon { display:none; } .eq-row { align-items:flex-start; } .eq-row .mf-btn { margin-left:0; } }
