/* Request screens own their geometry without changing other workhub forms. */
.workspace .request-page {min-width:0;--request-gap:24px}
.workspace .request-page .hub-heading {margin-bottom:24px}
.workspace .request-page .office-search {margin:0 0 12px;max-width:none}
.workspace .request-page .office-search>div {display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
.workspace .request-page .office-search input[type=search] {flex:1;width:100%;min-width:0;height:48px;min-height:48px;margin:0;padding:10px 16px;line-height:26px}
.workspace .request-page .office-search :is(button,a) {flex:0 0 48px;min-width:48px;width:48px;height:48px;min-height:48px;margin:0;padding:0}
.workspace .request-page .hub-filters {gap:6px;margin:0 0 12px}
.workspace .request-page .hub-caption[data-list-summary] {margin:0 0 12px}
.workspace .request-page>.card {margin:0}
.workspace .request-page .hub-empty a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:6px 12px}
.workspace .request-page .office-delivery-note {margin:24px 0 0;border-top:1px solid var(--rule);padding:8px 0 0}
.workspace .request-page .office-delivery-note summary {min-height:44px;align-content:center}

/* Give titles a full reading column; metadata dates never split mid-time. */
.workspace .request-page .hub-panel .request-row {display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:center;padding:16px 28px 16px 0;min-width:0}
.workspace .request-page .request-number {grid-column:1;grid-row:1/3;justify-self:start}
.workspace .request-page .request-title {grid-column:2;grid-row:1;font-size:15px;line-height:1.5;overflow-wrap:anywhere;min-width:0}
.workspace .request-page .request-meta {grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;line-height:1.5;color:var(--ink-2);min-width:0}
.workspace .request-page .request-meta time {white-space:nowrap}
.workspace .request-page .request-state {grid-column:3;grid-row:1/3;justify-self:end}

/* Normal flow prevents submit controls covering fields at short viewport heights. */
.workspace .request-create .hub-form.card {width:100%;max-width:760px;margin:0;padding:24px;gap:20px}
.workspace .request-create .office-task-form .office-form-actions {position:static;inset:auto;display:flex;align-items:center;gap:12px;margin:4px 0 0;padding:20px 0 0;border:0;border-top:1px solid var(--rule);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.workspace .request-create .office-form-actions>:is(button,a) {min-height:48px;margin:0;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;line-height:24px}
.workspace .request-create .hub-field[data-field=urgent] {display:block}
.workspace .request-create .hub-field label.request-urgent {display:flex;align-items:center;gap:12px;min-height:48px;width:100%;margin:0;cursor:pointer}
.workspace .request-create .request-urgent input[type=checkbox] {flex:none;order:0;width:24px;height:24px;min-height:24px;margin:0}
.workspace .request-create .hub-field>small {display:block;margin-top:8px;line-height:1.5}

/* Source order is reading order on every screen: request, processing, replies. */
.workspace .request-detail .office-detail-columns {display:grid!important;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);align-items:start;gap:var(--request-gap);margin:0 0 var(--request-gap)}
.workspace .request-detail .office-detail-columns>.card {grid-column:auto;grid-row:auto;order:0!important;width:auto;margin:0!important;padding:24px;min-width:0}
.workspace .request-detail>.request-replies {margin:0;padding:24px}
.workspace .request-detail .request-jumps {display:none}
.workspace .request-detail .request-upload {display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:16px}
.workspace .request-detail .request-upload>p {margin:0}
.workspace .request-detail .request-upload>small {display:block;line-height:1.5}
.workspace .request-detail .request-upload>button {align-self:flex-start;margin:0;min-height:48px}
.workspace .request-detail :is(#office-process,#request-replies) {scroll-margin-top:164px}
.workspace .request-detail .hub-stack {gap:12px}
.workspace .request-detail .hub-stack label {margin:0}
.workspace .request-detail .hub-stack :is(input,select,textarea) {margin-top:0}
.workspace .request-detail .hub-stack button {min-height:48px}
@media(max-width:1000px) {
  .workspace .request-detail .office-detail-columns {grid-template-columns:minmax(0,1fr)}
  .workspace .request-detail .request-jumps {display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 16px}
  .workspace .request-detail .request-jumps a {margin:0;min-height:44px}
}
@media(max-width:600px) {
  .workspace .request-page {--request-gap:20px}
  .workspace .request-list>.hub-panel {padding:0 16px}
  .workspace .request-page .hub-panel .request-row {grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:8px;padding:16px 0}
  .workspace .request-page .request-row::after {display:none}
  .workspace .request-page .request-number {grid-column:1;grid-row:1}
  .workspace .request-page .request-state {grid-column:2;grid-row:1}
  .workspace .request-page .request-title {grid-column:1/-1;grid-row:2;font-size:16px;line-height:1.5}
  .workspace .request-page .request-meta {grid-column:1/-1;grid-row:3;gap:4px 12px}
  .workspace .request-create .hub-form.card {padding:20px;gap:16px}
  .workspace .request-create .office-form-actions>:is(button,a) {flex:1}
  .workspace .request-detail .office-detail-columns>.card,
  .workspace .request-detail>.request-replies {padding:20px}
  .workspace .request-detail :is(#office-process,#request-replies) {scroll-margin-top:88px}
}
