/* Scope to a live form marker: navigating away cannot leave form styling behind. */
#app:has(>[data-version-guard="supplier-orders"]) { max-width: 1040px; margin-inline: auto; }
#app:has(>[data-version-guard="supplier-orders"]) .prq-mark svg { width: 24px; height: 24px; }
#app:has(>[data-version-guard="supplier-orders"]) .prq-head .pfnav { margin-left: auto; }
#app:has(>[data-version-guard="supplier-orders"]) > .card {
  padding: 22px 24px; margin-block: 16px; border: 1px solid #ecdcd5;
  border-radius: 18px; background: #fff; box-shadow: 0 6px 24px #2c140c08;
}
#app:has(>[data-version-guard="supplier-orders"]) .big {
  margin-bottom: 6px; color: #2c140c; font-size: 22px; line-height: 1.25; font-weight: 800;
}
#app:has(>[data-version-guard="supplier-orders"]) .muted { color: #806b63; line-height: 1.5; }
#app:has(>[data-version-guard="supplier-orders"]) .so-datebar {
  padding: 14px; border: 1px solid #ecdcd5; border-radius: 15px; background: #fff;
}
#app:has(>[data-version-guard="supplier-orders"]) button {
  min-height: 44px; padding: 11px 16px; border-radius: 11px; font-weight: 750;
}
#app:has(>[data-version-guard="supplier-orders"]) button.ok {
  background: #ba2900; border-color: #ba2900; color: #fff; box-shadow: 0 4px 12px #ba290018;
}
#app:has(>[data-version-guard="supplier-orders"]) button.ok:hover { background: #982200; }
#app:has(>[data-version-guard="supplier-orders"]) button.gray {
  background: #fff8f4; color: #6b4537; border: 1px solid #ecdcd5;
}
#app:has(>[data-version-guard="supplier-orders"]) input:not([type="date"]),
#app:has(>[data-version-guard="supplier-orders"]) select {
  min-height: 44px; padding: 9px; border: 1px solid #e1d3cb; border-radius: 9px;
  background: #fffcfa; color: #2c140c; font-size: 16px; box-sizing: border-box;
}
#app:has(>[data-version-guard="supplier-orders"]) input:focus,
#app:has(>[data-version-guard="supplier-orders"]) select:focus {
  outline: 2px solid #fd6b2a; outline-offset: 2px;
}
#app:has(>[data-version-guard="supplier-orders"]) input:disabled,
#app:has(>[data-version-guard="supplier-orders"]) button:disabled {
  background: #f2eeeb; color: #9a8a81; border-color: #e8ded8; box-shadow: none; cursor: default;
}
.hoz-plan-row { padding: 12px 0; border-bottom: 1px solid #ecdcd5; line-height: 1.4; }
.hoz-planned { margin-bottom: 18px; }
.hoz-choice { display: grid; grid-template-columns: minmax(0,1fr) minmax(170px,32%); align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid #ecdcd5; }
.hoz-choice select { width: 100%; min-height: 44px; padding: 10px; border: 1px solid #dccac0; border-radius: 9px; background: #fffaf7; color: #2c140c; font-size: 16px; }
.hoz-allocation .actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.hoz-allocation .actions button { width: auto; flex: 1 1 170px; }
.hoz-allocation [type="submit"],.hoz-planned+button { background: #ba2900; color: #fff; border: 1px solid #ba2900; }
.hoz-allocation .actions button[type="button"] { background: #fff8f4; color: #6b4537; border: 1px solid #ecdcd5; }
@media(max-width:600px) {
  #app:has(>[data-version-guard="supplier-orders"]) > .card { padding: 17px 14px; border-radius: 14px; }
  #app:has(>[data-version-guard="supplier-orders"]) .prq-head { flex-wrap: wrap; }
  #app:has(>[data-version-guard="supplier-orders"]) .prq-head .pfnav { margin-left: 0; width: 100%; justify-content: flex-end; }
  #app:has(>[data-version-guard="supplier-orders"]) .prq-heading h1 { flex-wrap: wrap; font-size: 22px; }
  #app:has(>[data-version-guard="supplier-orders"]) .big { font-size: 20px; }
  #app:has(>[data-version-guard="supplier-orders"]) .so-datebar > button { flex: 1 1 130px; }
  #app:has(>[data-version-guard="supplier-orders"]) .so-datebar > label { width: 100%; }
  #app:has(>[data-version-guard="supplier-orders"]) .zayavka-date { width: 100%; box-sizing: border-box; }
  .hoz-choice { grid-template-columns: 1fr; gap: 8px; }
}
.hoz-order-tools{margin:10px 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.hoz-order-tools>p{margin:0 0 10px;font-size:13px;line-height:1.5}
.hoz-order-tools>button{width:auto;min-height:42px}
.hoz-order-picker{margin-top:10px}
.hoz-order-picker>input{width:100%;box-sizing:border-box;min-height:44px}
.hoz-order-results{display:grid;gap:6px;max-height:280px;overflow:auto;margin-top:8px}
.hoz-order-results>button{text-align:left;white-space:normal;min-height:44px;width:100%;font-size:14px}
/* Factory supply: explicit delivery batches, compact warm GORDAN editor. */
.fabworkspace{display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}
.fabworkspace[hidden]{display:none}
.fabworkspace>.fabneworder:only-child,.fabworkspace>.faborderloading{grid-column:1/-1}
.fabworkspace .card{margin:0!important;min-width:0}
.fabworkspace .fabneworder{position:sticky;top:12px}
.fabworkspace .fabnewhead{padding-bottom:10px}
.fabworkspace .fabnewsubtitle{line-height:1.5;font-size:12px}
.fabworkspace .fabnewsupplierlist{max-height:400px;overflow:auto;overscroll-behavior:contain}
.fabworkspace .fabnewsupplier{padding:11px 12px}
.fabworkspace .fabnewsuppliername{overflow-wrap:anywhere}
.fabworkspace .fabnewfooter{padding-top:9px}
.fabordereditor{padding:18px!important}
.fabordertitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.faborderbadge{flex-shrink:0;border-radius:20px;background:#fff0e5;color:#a33112;padding:6px 9px;font-size:11px;font-weight:750}
.fabdeliverytools{padding:12px;background:#faf3ee;border:1px solid #efdfd5;border-radius:11px;margin:12px 0 15px}
.fabdeliverytools #fabExp{width:166px!important;flex:0 0 166px;min-width:0;box-sizing:border-box}
.fabdeliverymain>span{white-space:nowrap}
.fabcancelcreation{width:auto;max-width:calc(100% - 32px);margin:0 16px 12px;padding:8px 10px;border:1px solid #e3d2c8;border-radius:8px;background:#fffaf6;color:#805447;box-shadow:none;font-size:13px}
.fabcancelcreation:hover{background:#f8e9df;color:#a43d20}
.fabpendingheadtools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fabpendingcollapse{width:auto;padding:6px 10px;border:1px solid #987667;border-radius:7px;background:transparent;color:#fff;font-size:12px;box-shadow:none}
.fabpendingcollapse:hover{background:#624234}
.fabpendingeditor[hidden]{display:none!important}
.fabpendingrowdelete svg{display:block;width:18px!important;height:18px!important;flex:none}
.fabdifferentdates{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;white-space:nowrap;flex-shrink:0;font-size:13px;color:#67493b;cursor:pointer}
.fabdifferentdates input{appearance:auto!important;width:17px!important;height:17px;margin:0;accent-color:#df481c;flex-shrink:0}
.fabordereditor .fabrow{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:9px!important;padding:11px 0!important}
.fabordereditor{--fab-unit-width:56px}
.fabordereditor:has(.fabunit select){--fab-unit-width:76px}
.fabordereditor .fabrowcontrols{display:grid!important;grid-template-columns:30px 70px var(--fab-unit-width) 30px;gap:4px;align-items:center;justify-content:end}
.fabordereditor .fabrowcontrols .fabq{width:100%!important;min-width:0;box-sizing:border-box}
.fabordereditor .fabunit{display:block;width:var(--fab-unit-width);min-width:0;text-align:center}
.fabordereditor .fabunit .fabu{border:0;background:transparent;box-shadow:none;padding:0 2px;border-radius:0}
.fabordereditor .fabunit select:focus-visible{outline:2px solid #d94b20;outline-offset:2px}
.fabordereditor .fabunit select{width:100%;min-width:0;box-sizing:border-box}
#fabModeHint[hidden]{display:none!important}
.fabordereditor .fabrow{scroll-margin-bottom:85px}
.fabordereditor .fabnm{font-weight:600;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.fabordereditor .fabpr{display:block;font-size:11px;margin-top:3px}
.fabordereditor .fabq{height:39px;border-radius:8px;padding:7px 4px!important;font-weight:650}
.fabordereditor .fabq:focus,.fabordereditor .fabrowdate:focus{border-color:#e8794d;box-shadow:0 0 0 3px #fff0e8;outline:none}
.fabordereditor .fabunit select{max-width:110px;font-size:13px}
.fabordereditor .fabrowcopy,.fabordereditor .fabrowdrop{height:32px;width:30px;flex-shrink:0}
.fabrowdatewrap{display:none;grid-column:1/-1;align-items:center;gap:8px;font-size:12px;color:#80685c}
.has-row-dates .fabrowdatewrap{display:flex}
.fabrowdatewrap input{width:155px;font-size:14px!important;padding:7px!important;height:35px}
.fabrowdatewrap small{font-size:11px}
.faborderactions{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fffaf5;border:1px solid #f0dfd3;border-radius:10px;margin-top:14px;padding:10px 12px;box-shadow:0 -4px 15px #4d271008}
.faborderactions>.muted{font-size:12px;margin:0!important}
.faborderactions>button{width:auto;flex-shrink:0;margin:0!important;padding:11px 17px;min-height:42px}
.fabdraftnotice{font-size:12px;padding:8px 10px;background:#f7eedf;color:#7e633e;border-radius:7px;margin-bottom:12px}
.fabworkspace+.fabpending{margin-top:16px}
@media(max-width:860px){
 .fabdifferentdates{margin-left:0}
 .fabworkspace{display:flex;flex-direction:column;gap:12px}
 .fabworkspace>*{width:100%;box-sizing:border-box}
 .fabworkspace .fabneworder{position:static}
 .fabworkspace .has-supplier .fabnewsupplierlist{max-height:95px}
 .fabworkspace .has-supplier .fabnewfooter{display:none}
 .fabordereditor{padding:14px!important}
}
@media(max-width:480px){
 .fabordereditor .fabrow{grid-template-columns:1fr}
 .fabordereditor .fabrowcontrols{justify-content:flex-start}
 .fabordertitle .big{font-size:19px}
 .faborderbadge{font-size:10px;padding:5px 7px}
 .fabdeliverytools{padding:10px}
 .faborderactions{padding:9px;gap:8px}
 .faborderactions>button{padding:10px 12px;font-size:13px}
 .faborderactions>.muted{max-width:45%}
 .fabrowdatewrap{flex-wrap:wrap}
}
.so-loading{display:flex;align-items:flex-start;gap:14px;margin-top:20px;padding:24px!important}
.so-loading>div{min-width:0}
.so-loading strong{font-size:16px}
.so-loading p{margin:7px 0 0;color:#80685c;line-height:1.5;overflow-wrap:anywhere}
.so-loading button{margin-top:14px;max-width:100%}
.so-loading-spinner{width:22px;height:22px;flex:0 0 22px;border:3px solid #f5ded1;border-top-color:#e84600;border-radius:50%;animation:so-loading-spin .8s linear infinite}
.so-loading.is-error .so-loading-spinner{display:none}
@keyframes so-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.so-loading-spinner{animation:none}}
