/* Request composer uses the same semantic colors in all four themes. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#modal.request-dialog{width:min(1000px,96vw);max-width:1000px;max-height:94dvh;padding:0;overflow:auto;scroll-padding:90px 0 180px}
.request-dialog>.modal-head{position:sticky;top:0;z-index:3;background:var(--surface);padding:18px 24px;margin:0;border-bottom:1px solid var(--edge)}
.request-dialog>.modal-head h2{font-size:23px;letter-spacing:-.6px}
.request-dialog>.modal-body{padding:0}
.request-intro{margin:0;padding:18px 24px 14px;color:var(--muted);font-size:15px;line-height:1.5}
.request-intro{display:flex;align-items:center;gap:18px;justify-content:space-between}.request-intro p{margin:0}.request-intro button{white-space:nowrap;color:var(--muted);font-size:12px}
.request-common{display:grid;grid-template-columns:1.4fr 1.4fr 1fr;gap:16px;background:var(--raised);border-block:1px solid var(--edge);padding:18px 24px}
.request-common:has([name=priority]){grid-template-columns:1.3fr 1.3fr .9fr .9fr}
.request-common label,.request-line label{font-size:13px;font-weight:600;color:var(--muted);display:flex;flex-direction:column;gap:7px;margin:0}
.request-common input,.request-common select,.request-line input,.request-line select,.request-line textarea{width:100%;min-width:0;margin:0;min-height:44px;font-size:15px;border-radius:7px;padding:10px 11px;font-weight:500;background:var(--input);color:var(--text);border:1px solid var(--edge)}
.request-section-title{padding:22px 24px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.request-section-title h3{font-size:17px;margin:0}.request-section-title>span{font-size:13px;color:var(--muted)}
.request-lines{display:grid;gap:14px;padding:0 24px}
.request-line{min-width:0;padding:15px 16px 0;margin:0;border:1px solid var(--edge);border-radius:10px;background:var(--surface);transition:border-color .15s}
.request-line:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}
.request-line-head{display:flex;gap:10px;align-items:center;margin:0 0 14px}
.request-position-number{font:700 15px/34px ui-monospace,monospace;min-width:34px;text-align:center;border-radius:7px;background:var(--accent-soft);color:var(--accent)}
.request-line-actions{margin-left:auto;display:flex;gap:6px}.request-line-actions button{min-height:34px}
.request-catalog{color:var(--accent);font-weight:600;border-color:var(--edge);background:var(--raised)}
.request-line-fields{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(85px,1fr));gap:12px;align-items:end}
.request-qty input{font-weight:750;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--edge));font-size:18px}
.request-line-details{margin-top:14px;border-top:1px solid var(--edge)}
.request-line-details>summary{padding:11px 0;font-size:13px;cursor:pointer;color:var(--muted);min-height:40px}
.request-line-details[open]>summary{color:var(--accent)}
.request-extra-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:5px 0 16px}
.request-rip-explanation,.request-note{grid-column:1/-1}.request-rip-explanation{margin:0;line-height:1.5}
.request-add-bar{display:flex;align-items:center;gap:15px;padding:16px 24px 20px}.request-add{border:1px dashed var(--accent);color:var(--accent);background:var(--accent-soft);min-height:44px;padding:10px 20px;font-weight:650}
.request-capacity{margin:0;padding:14px 24px 20px}.request-total-bar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap}.request-total-bar>.request-total{margin-bottom:0}.request-total-bar>.request-add{font-size:13px;white-space:nowrap;padding:8px 14px;min-height:38px}
.request-composer-footer{position:sticky;bottom:0;padding:15px 24px 12px;border-top:1px solid var(--edge);background:var(--surface);box-shadow:0 -8px 24px #00000008;z-index:2}
.request-total{display:flex;gap:30px;align-items:center;margin-bottom:13px;font-variant-numeric:tabular-nums}
.request-total>strong{display:flex;gap:7px;align-items:baseline;font-size:22px;letter-spacing:-.6px;color:var(--ink)}.request-total small{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}
.request-submit-actions{display:flex;gap:12px;justify-content:space-between}.request-submit-actions>.primary{min-width:230px;min-height:46px}
.request-composer-footer>.help{margin:10px 0 0;font-size:12px}
.request-error{margin:0 24px 18px;padding:12px 16px;border-radius:8px;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);line-height:1.5}
.request-undo{margin:0 24px 16px;padding:10px 14px;background:var(--raised);border-radius:8px;display:flex;gap:14px;align-items:center;font-size:14px}.request-undo button{min-height:32px;padding:4px 10px}
.request-dialog [hidden],.request-table-heading~tr[hidden],.manager-request-list>[hidden]{display:none!important}
.request-table-heading>td{padding:0!important;border-bottom:1px solid var(--edge);background:var(--raised)!important}
.request-table-heading button{border:0;border-radius:0;width:100%;display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 18px;text-align:left;background:none;font-size:13px}
.request-table-heading button strong{color:var(--accent)}.request-table-heading button>span:not(.request-chevron){color:var(--muted)}.request-table-heading button>small{margin-left:auto;color:var(--muted);font-weight:400}
.request-chevron{font-size:17px;width:12px}.request-table-heading:hover{background:var(--accent-soft)}
.request-heading-customer{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manager-batches .manager-heading h1{font-size:38px;line-height:1.1;letter-spacing:-1.6px}.manager-batches .manager-heading>button{min-width:220px;min-height:52px;font-size:16px}.manager-batches .manager-heading p{max-width:610px;line-height:1.6}
.manager-batches .manager-stats{max-width:820px}.manager-request-toolbar{display:flex;gap:14px;align-items:center;margin:0 0 12px}.manager-request-toolbar input{flex:1;min-width:0;min-height:46px}.manager-request-toolbar button{min-height:46px}
.manager-request-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.directory-inline-add{align-self:flex-start;margin-top:5px;padding:4px 7px;font-size:11px}
.directory-manager{display:grid;gap:12px}.directory-manager section{padding:12px;border:1px solid var(--edge);border-radius:9px;background:var(--raised)}.directory-manager h3{margin:0 0 8px}.directory-manager p{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:7px 0}.directory-manager .actions{margin-bottom:8px}
.manager-request-list>.empty{grid-column:1/-1}.manager-request-list>.manager-order{margin:0}
.request-group{border:1px solid var(--edge);border-left:4px solid hsl(var(--customer-hue) 32% 52%);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
.request-group>summary{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;cursor:pointer;list-style:none;min-height:114px}.request-group>summary::-webkit-details-marker{display:none}
.request-group>summary>span{display:grid;gap:6px;min-width:0}.request-group>summary small{font-size:11px;letter-spacing:.4px;color:var(--accent)}.request-group>summary strong{font-size:21px;line-height:1.25;overflow-wrap:anywhere;color:var(--ink)}.request-group>summary span>span{font-size:13px;color:var(--muted)}
.request-group-count{text-align:right;flex-shrink:0}.request-group-count>b{font-size:19px;color:var(--ink)}.request-collapse,.request-group[open] .request-expand{display:none}.request-group[open] .request-collapse{display:inline}
.request-group-content{border-top:1px solid var(--edge);padding:0 16px}.request-group-content .manager-order{margin:0;border:0!important;border-radius:0;padding:18px 0;background:transparent;box-shadow:none;border-bottom:1px solid var(--edge)!important}.request-group-content .manager-order:last-child{border-bottom:0!important}.request-group-content .manager-order h3{display:none}.request-group-content .manager-order>p{font-size:13px;margin:10px 0}.request-group-content .order-spec{margin-top:12px}
@media(max-width:760px){.request-common:has([name=priority]){grid-template-columns:1fr 1fr}}
@media(max-width:500px){.request-intro{flex-wrap:wrap;gap:8px}.request-intro button{min-height:30px}}
@media(max-width:760px){.request-common{grid-template-columns:1fr 1fr}.request-common>label:first-child{grid-column:1/-1}.request-common>label:last-child:nth-child(4){grid-column:auto}.request-line-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.request-mark{grid-column:1/-1}.request-extra-fields{grid-template-columns:1fr 1fr}.request-total{gap:18px;flex-wrap:wrap}.request-total>strong{font-size:20px}.request-section-title>span{display:none}.manager-request-list{grid-template-columns:1fr}.request-submit-actions>[data-save-draft]{font-size:12px}.request-submit-actions>.primary{min-width:200px}.request-group>summary{padding:16px}}
@media(max-width:500px){#modal.request-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;border:0}.request-dialog>.modal-head{padding:14px 16px}.request-intro,.request-common,.request-section-title,.request-add-bar,.request-composer-footer{padding-left:16px;padding-right:16px}.request-lines{padding:0 16px}.request-line{padding-left:12px;padding-right:12px}.request-common{gap:12px}.request-common>label:nth-child(2){grid-column:1/-1}.request-line-fields{grid-template-columns:1fr 1fr}.request-line-actions button{font-size:12px;padding:5px 8px}.request-catalog{font-size:12px;padding:6px 8px}.request-total{gap:14px;margin-bottom:10px}.request-total>strong{font-size:18px}.request-total small{font-size:11px}.request-add-bar{align-items:flex-start;flex-direction:column;gap:8px}.request-submit-actions{flex-direction:column-reverse;gap:6px}.request-submit-actions>button{width:100%}.request-submit-actions>[data-save-draft]{min-height:34px}.request-composer-footer>.help{display:none}.request-error{margin-inline:16px}.manager-batches .manager-heading h1{font-size:32px}.manager-request-toolbar{gap:8px}.manager-request-toolbar button{font-size:13px}.request-table-heading button>span:not(.request-chevron){display:none}}

/* Orders is one vertical scroll surface: title/actions, controls and columns stack. */
.content:has(.orders-sticky-controls){
  --orders-heading-height:96px;
  --orders-controls-height:108px;
  height:calc(100dvh - 73px);
  max-width:none;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-padding-top:calc(var(--orders-heading-height) + var(--orders-controls-height) + 14px);
}
.content:has(.orders-sticky-controls)>.heading{
  position:sticky;
  top:0;
  left:0;
  z-index:20;
  margin:-28px -32px 0;
  padding:20px 32px 14px;
  border-bottom:1px solid transparent;
  background:var(--surface,#fff);
}
.orders-sticky-controls{
  position:sticky;
  top:var(--orders-heading-height);
  left:0;
  z-index:19;
  margin:0 -32px;
  padding:8px 32px 12px;
  border-bottom:1px solid var(--edge,#e1e7e5);
  background:var(--surface,#fff);
}
.is-orders-scrolled>.heading,
.is-orders-scrolled>.orders-sticky-controls{box-shadow:0 7px 16px rgb(16 42 37 / 8%)}
.orders-sticky-controls .queue-tabs{margin-top:0}
.orders-sticky-controls .toolbar{margin-bottom:0}
.orders-secondary{display:none}
.orders-table-panel{margin-top:14px;overflow:visible}
.content:has(.orders-sticky-controls) .orders-table-panel .table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible}
.content:has(.orders-sticky-controls) .orders-table-panel table,
.orders-sticky-columns table{min-width:920px;table-layout:fixed}
.content:has(.orders-sticky-controls) table :is(th,td):nth-child(1){width:28%}
.content:has(.orders-sticky-controls) table :is(th,td):nth-child(2){width:20%}
.content:has(.orders-sticky-controls) table :is(th,td):nth-child(3){width:10%}
.content:has(.orders-sticky-controls) table :is(th,td):nth-child(4){width:7%}
.content:has(.orders-sticky-controls) table :is(th,td):nth-child(5){width:12%}
.content:has(.orders-sticky-controls) table :is(th,td):nth-child(6){width:15%}
.content:has(.orders-sticky-controls) table :is(th,td):nth-child(7){width:8%}
.orders-sticky-columns{
  position:sticky;
  top:calc(var(--orders-heading-height) + var(--orders-controls-height));
  z-index:18;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  border-bottom:1px solid var(--edge,#e1e7e5);
  background:var(--raised,#f8faf7);
}
.orders-sticky-columns th{background:var(--raised,#f8faf7)}
.orders-table-panel thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.content:has(.orders-sticky-controls) tr[id],
.content:has(.orders-sticky-controls) tr:focus-within{scroll-margin-top:calc(var(--orders-heading-height) + var(--orders-controls-height) + 42px)}

@media(max-width:1200px){
  .content:has(.orders-sticky-controls)>.heading{margin:-22px -22px 0;padding-inline:22px}
  .orders-sticky-controls{margin-inline:-22px;padding-inline:22px}
}
@media(max-width:1023px){
  .content:has(.orders-sticky-controls){height:calc(100dvh - 54px);padding-top:12px;scroll-padding-top:150px}
  .content:has(.orders-sticky-controls)>.heading{margin:-12px -15px 0;padding:10px 15px;align-items:center;flex-direction:row}
  .content:has(.orders-sticky-controls)>.heading .eyebrow,
  .content:has(.orders-sticky-controls)>.heading .sub{display:none}
  .content:has(.orders-sticky-controls)>.heading h1{font-size:24px;margin:0}
  .content:has(.orders-sticky-controls)>.heading .actions{flex-wrap:nowrap}
  .content:has(.orders-sticky-controls)>.heading button{min-height:38px;padding:7px 10px;white-space:nowrap}
  .orders-sticky-controls{margin-inline:-15px;padding:6px 15px 8px}
  .orders-sticky-controls .queue-tabs{overflow-x:auto;white-space:nowrap}
  .orders-sticky-controls .toolbar{display:flex;flex-wrap:wrap;padding-bottom:2px}
  .orders-sticky-controls .toolbar .search{flex:1 1 260px;min-width:0}
}
@media(max-width:500px){
  .content:has(.orders-sticky-controls)>.heading{align-items:center;flex-direction:row;gap:6px;overflow:visible;padding-block:5px}
  .content:has(.orders-sticky-controls)>.heading>div:first-child{min-width:0}
  .content:has(.orders-sticky-controls)>.heading h1{font-size:20px;line-height:1.1;white-space:nowrap}
  .content:has(.orders-sticky-controls)>.heading .actions{display:block;width:auto;flex:0 0 auto}
  .content:has(.orders-sticky-controls)>.heading .actions [data-action="import"],
  .content:has(.orders-sticky-controls)>.heading .actions [data-clear-orders]{display:none}
  .content:has(.orders-sticky-controls)>.heading .actions button{min-width:0;min-height:34px;padding:5px 7px;white-space:normal;font-size:12px;line-height:1.1}
  .orders-sticky-controls{padding-block:4px}
  .orders-sticky-controls .queue-tabs{padding:2px;gap:2px}
  .orders-sticky-controls .queue-tabs button{min-height:32px;padding:4px 6px;font-size:12px}
  .orders-sticky-controls .queue-tabs b{margin-left:3px;padding:2px 4px}
  .orders-sticky-controls .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;overflow:visible}
  .orders-sticky-controls .toolbar>*{width:100%;min-width:0;min-height:34px;padding:5px 7px;white-space:normal}
  .orders-sticky-controls .toolbar .search,
  .orders-sticky-controls .toolbar select{min-width:0}
  .orders-sticky-controls .orders-wide-only{display:none}
  .orders-secondary{display:block;margin-top:4px}
  .orders-secondary summary{min-height:30px;padding:4px 8px;border:1px solid var(--edge);border-radius:7px;color:var(--accent);font-size:12px;font-weight:650;cursor:pointer;text-align:center;list-style-position:inside}
  .orders-secondary>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:6px}
  .orders-secondary button{min-width:0;padding:5px 6px;white-space:normal;font-size:12px}
  .orders-sticky-columns th{padding-block:5px}
}
@media(max-height:699px){
  .orders-sticky-controls{display:block;overflow:visible}
  .orders-sticky-controls .queue-tabs{margin-top:0}
  .orders-sticky-controls .toolbar{margin-bottom:0}
}
@media(max-height:699px) and (min-width:501px){
  .content:has(.orders-sticky-controls)>.heading{padding-block:6px}
  .content:has(.orders-sticky-controls)>.heading h1{font-size:20px;line-height:1.1}
  .content:has(.orders-sticky-controls)>.heading button{min-height:32px;padding-block:4px}
  .orders-sticky-controls{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);gap:8px;padding-block:4px}
  .orders-sticky-controls .queue-tabs{align-self:stretch}
  .orders-sticky-controls .toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .orders-sticky-controls .toolbar>*{width:100%;min-width:0;min-height:34px;padding:4px 6px;font-size:12px;white-space:normal}
  .orders-sticky-controls .toolbar .search{grid-column:span 2}
}
@media print{
  .content:has(.orders-sticky-controls){display:block;height:auto;overflow:visible;padding:0;scroll-padding:0}
  .content:has(.orders-sticky-controls)>.heading,
  .orders-sticky-controls,
  .orders-sticky-columns{position:static;margin:0;padding:0;box-shadow:none;overflow:visible}
  .orders-sticky-columns{display:none}
  .content:has(.orders-sticky-controls) .orders-table-panel thead{display:table-header-group}
  .content:has(.orders-sticky-controls) .orders-table-panel thead{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .content:has(.orders-sticky-controls) .orders-table-panel table{min-width:0}
}
.directory-entry-dialog{width:min(460px,calc(100vw - 32px));border:1px solid var(--line,#cbd6e4);border-radius:20px;padding:28px;color:var(--ink,#203850);background:var(--surface,#fff);box-shadow:0 24px 80px #091b3c33}.directory-entry-dialog::backdrop{background:#12273f66}.directory-entry-dialog form{display:grid;gap:20px}.directory-entry-dialog h2{margin:0;font-size:24px}.directory-entry-dialog label{display:grid;gap:8px}.directory-entry-dialog .actions{display:flex;justify-content:flex-end;gap:10px}
