/* Requirements (tool id required-docs) module styles. Owned by the required-docs module worker. Scoped under
   .gch-m-required-docs (the export dialog renders in #gch-layer, so its rules sit under .gch-dlg-rdexp). */

/* title row: the register count, and two quiet counts that filter the list */
.gch-m-required-docs .gch-phead .meta b.rd-me{color:var(--ink);font-weight:700}
.gch-m-required-docs .rd-q{appearance:none;padding:0;font:inherit;color:var(--ink2);background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-color:var(--edge)}
.gch-m-required-docs .rd-q:hover{color:var(--ink);text-decoration-style:solid}

/* tabs, the count across every tab, expand/collapse */
.gch-m-required-docs .rd-tabbar{flex:none;display:flex;align-items:center;gap:var(--s3);margin:0 var(--gut) var(--s3);border-bottom:1px solid var(--line)}
.gch-m-required-docs .rd-tabs{flex:1;min-width:0;display:flex;gap:var(--s6);overflow-x:auto;scrollbar-width:none}
.gch-m-required-docs .rd-tabs a{display:inline-flex;align-items:center;gap:6px;height:40px;font-size:14px;font-weight:500;color:var(--ink2);text-decoration:none;box-shadow:inset 0 -2px 0 transparent;white-space:nowrap}
.gch-m-required-docs .rd-tabs a:hover{color:var(--ink)}
.gch-m-required-docs .rd-tabs a.is-on{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--o)}
.gch-m-required-docs .rd-tabs a.is-internal{font-style:italic}
.gch-m-required-docs .rd-tabs .n{font-size:13px;font-weight:700;color:var(--mid);font-variant-numeric:tabular-nums;font-style:normal}
.gch-m-required-docs .rd-tabs a.is-on .n{color:var(--ink2)}
.gch-m-required-docs .rd-count{flex:none;padding:0}
.gch-m-required-docs .rd-exall{flex:none;margin-right:-8px}
/* The count across every tab stands in for the list's own per-tab count, and Export sits in the title row. */
.gch-m-required-docs .gch-list .gch-tbar .gch-count,.gch-m-required-docs .gch-list .gch-tbar .gch-export{display:none}
.gch-m-required-docs td.c-tracked{max-width:208px;overflow:hidden;text-overflow:ellipsis}

/* bulk bar */
.gch-m-required-docs .rd-bulk{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin:0 var(--gut) var(--s3);padding:6px var(--s2) 6px var(--s3);background:var(--bg3);border:1px solid var(--line2);border-left:2px solid var(--o)}
.gch-m-required-docs .rd-bulk[hidden]{display:none}
.gch-m-required-docs .rd-bn{font-size:13.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
.gch-m-required-docs .rd-bn b{color:var(--ink);font-weight:700}
.gch-m-required-docs .rd-bb{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.gch-m-required-docs .rd-err{flex-basis:100%;font-size:13px;color:var(--danger)}

/* table cells */
.gch-m-required-docs .gch-pane th.c-pick,.gch-m-required-docs .gch-pane td.c-pick{width:44px;padding-right:0}
.gch-m-required-docs .gch-pane th.c-pick + th,.gch-m-required-docs .gch-pane td.c-pick + td{padding-left:var(--s2)}
.gch-m-required-docs .rd-pick,.gch-m-required-docs .rd-all{width:16px;height:16px;margin:0;vertical-align:middle;accent-color:var(--o);cursor:pointer}
.gch-m-required-docs .gch-pane tr.is-picked > td{background:var(--o-tint)}
.gch-m-required-docs .gch-pane tr.is-focus > td{box-shadow:inset 0 1px 0 var(--o),inset 0 -1px 0 var(--o)}
/* Requirements wrap to two lines, like today's screen, instead of cutting off mid-sentence. */
.gch-m-required-docs .gch-pane td.is-primary .cell-main{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}
.gch-m-required-docs .is-expanded .gch-pane td.is-primary .cell-main{display:block;-webkit-line-clamp:unset;padding:6px 0}
.gch-m-required-docs .rd-detail{display:block;margin-top:4px;font-size:12.5px;line-height:1.45;color:var(--ink2)}
.gch-m-required-docs .rd-detail i{color:var(--o-txt);font-style:normal}
.gch-m-required-docs .gch-pane td{vertical-align:middle}
.gch-m-required-docs td.c-spec{white-space:nowrap}
.gch-m-required-docs td.c-timing{color:var(--ink2);white-space:normal;min-width:132px;max-width:190px}

/* Owner: the trade, then one word for how settled it is. "No trade yet" is the only one that asks for a decision. */
.gch-m-required-docs .rd-own{white-space:nowrap}
.gch-m-required-docs .rd-own .s{margin-left:2px;font-size:12.5px;color:var(--mid)}
.gch-m-required-docs .rd-own .s::before{content:"· "}
.gch-m-required-docs .rd-own.is-assigned .s{color:var(--ink2)}
.gch-m-required-docs .rd-own.is-confirmed .s{color:var(--ok);font-weight:600}
.gch-m-required-docs .rd-own.is-none{color:var(--o-txt);font-weight:500}

/* A source page that could not be read: a small mark before the requirement and the page named beside the source. */
.gch-m-required-docs .rd-um{display:inline-flex;margin-right:6px;vertical-align:-3px;color:var(--ink2)}
.gch-m-required-docs .rd-um .i{width:15px;height:15px}
.gch-m-required-docs .rd-src{color:var(--ink2);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.gch-m-required-docs a.rd-src{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.gch-m-required-docs a.rd-src:hover{color:var(--ink);text-decoration-color:var(--edge)}
.gch-m-required-docs .rd-unread{display:block;margin-top:1px;font-size:12px;color:var(--mid);white-space:nowrap;text-decoration:none}
.gch-m-required-docs a.rd-unread{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.gch-m-required-docs a.rd-unread:hover{color:var(--ink)}

/* notes */
.gch-m-required-docs td.rd-nc{min-width:150px;width:180px;padding-top:0;padding-bottom:0}
.gch-m-required-docs .rd-note{width:100%;min-width:0;height:30px;min-height:30px;padding:0 6px;font-size:13px;color:var(--ink);background:transparent;border:1px solid transparent;outline:0}
/* "Add a note" shows on the row in hand, not on every row. */
.gch-m-required-docs .rd-note::placeholder{color:transparent}
.gch-m-required-docs tr:hover .rd-note::placeholder,.gch-m-required-docs .rd-note:focus::placeholder{color:var(--mid)}
.gch-m-required-docs .rd-note:hover{border-color:var(--line2)}
.gch-m-required-docs .rd-note:focus{background:var(--field);border-color:var(--o)}
.gch-m-required-docs .rd-note.is-saving{opacity:.6}
.gch-m-required-docs .rd-note.is-saved{box-shadow:inset -3px 0 0 var(--ok)}
.gch-m-required-docs .rd-notet{display:block;max-width:180px;font-size:13px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* tracked as */
.gch-m-required-docs .rd-tr{display:flex;align-items:center;gap:6px;max-width:192px;color:var(--ink);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.gch-m-required-docs .rd-tr > span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.gch-m-required-docs .rd-tr > b,.gch-m-required-docs .rd-tr > .i{flex:none}
.gch-m-required-docs .rd-tr b{font-weight:600}
.gch-m-required-docs .rd-tr .i{width:15px;height:15px;color:var(--mid)}
.gch-m-required-docs a.rd-tr:hover b,.gch-m-required-docs a.rd-tr:hover span:not(.mid){text-decoration:underline;text-underline-offset:2px}
.gch-m-required-docs .rd-create{min-height:28px;margin-left:-8px;padding:0 8px;font-size:13px;color:var(--ink2)}
.gch-m-required-docs .rd-create:hover{color:var(--ink);border-color:var(--edge)}
.gch-m-required-docs .rd-create .i{width:14px;height:14px}

/* panel */
.gch-m-required-docs .gp-facts a{color:var(--ink)}
.gch-m-required-docs .gp-facts .rd-own{white-space:normal}
.gch-m-required-docs .rd-quote{margin:0 0 var(--s2);padding:2px 0 2px var(--s3);border-left:2px solid var(--line2);quotes:"“" "”";line-height:1.55}
.gch-m-required-docs .rd-quote::before{content:open-quote}
.gch-m-required-docs .rd-quote::after{content:close-quote}

/* export dialog (outside the tool root) */
.gch-dlg-rdexp .rd-exp-o{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3) var(--s4)}
.gch-dlg-rdexp .rd-exp-o .ff{display:flex;flex-direction:column;gap:6px;min-width:0}
.gch-dlg-rdexp .rd-exp-o select{width:100%}
.gch-dlg-rdexp .rd-exp-b{display:flex;gap:6px;margin:var(--s4) 0 var(--s2)}
.gch-dlg-rdexp .rd-exp-s{display:flex;flex-direction:column;gap:6px;margin:0;padding:var(--s3);border:1px solid var(--line)}
.gch-dlg-rdexp .rd-exp-s legend{padding:0 4px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mid)}
.gch-dlg-rdexp .rd-exp-s label{display:flex;align-items:center;gap:var(--s2);font-size:14px;color:var(--ink2)}
.gch-dlg-rdexp .rd-exp-s input{accent-color:var(--o)}
.gch-dlg-rdexp .rd-exp-r{margin-top:var(--s3);padding:var(--s3);font-size:13px;line-height:1.5;color:var(--ink2);background:var(--bg3);border-left:2px solid var(--o)}
.gch-dlg-rdexp .rd-exp-r strong{color:var(--ink)}
.gch-dlg-rdexp .rd-exp-ok{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:var(--ink)}
.gch-dlg-rdexp .rd-exp-ok .i{flex:none;width:16px;height:16px;color:var(--ok)}
.gch-dlg-rdexp .rd-exp-err{margin-top:6px;color:var(--danger)}

/* Laptop widths: Timing gives its room to the requirement (it is in the panel and under Expand all). */
@container gchlist (max-width:1300px){
  .gch-m-required-docs .gch-list .c-timing{display:none}
}
/* Beside an open panel or on a small window: the state word goes under the trade, and Tracked as keeps the number
   (the status and the words of Create submittal are in the panel). */
@container gchlist (max-width:1000px){
  .gch-m-required-docs .gch-pane .rd-own .t{display:block}
  .gch-m-required-docs .gch-pane .rd-own .s{margin-left:0}
  .gch-m-required-docs .gch-pane .rd-own .s::before{content:none}
}
@container gchlist (max-width:760px){
  .gch-m-required-docs .gch-pane td.is-primary,.gch-m-required-docs .gch-pane th.is-primary{min-width:160px}
  .gch-m-required-docs td.c-tracked{max-width:140px}
  .gch-m-required-docs .rd-tr{max-width:124px}
  .gch-m-required-docs .rd-tr .mid,.gch-m-required-docs .rd-create span{display:none}
}
/* Phone: each requirement is a card. Spec section and owner on top, the requirement, then where it is tracked.
   Ticking rows for the bulk actions is a desktop job; on a phone a card opens its panel, which has the same actions. */
@container gchlist (max-width:560px){
  .gch-m-required-docs .gch-pane tbody tr[data-key]{row-gap:4px;padding-top:12px;padding-bottom:12px}
  .gch-m-required-docs .gch-pane tbody tr[data-key] > td.c-pick,.gch-m-required-docs .rd-so{display:none}
  .gch-m-required-docs .gch-pane tbody tr[data-key] > td.c-spec{display:block;grid-column:1;grid-row:1;font-weight:600;color:var(--ink2)}
  .gch-m-required-docs .gch-pane tbody tr[data-key] > td.c-owner{display:block;grid-column:2;grid-row:1;justify-self:end;font-size:13px}
  .gch-m-required-docs .gch-pane tbody tr[data-key] > td.is-primary{grid-row:2}
  .gch-m-required-docs .gch-pane tbody tr[data-key] > td.c-tracked{grid-column:1 / -1;grid-row:3;justify-self:start;max-width:100%;padding:0;font-size:13px}
  .gch-m-required-docs .gch-pane .rd-own .t{display:inline}
  .gch-m-required-docs .gch-pane .rd-own .s::before{content:"· "}
  .gch-m-required-docs .rd-tr{max-width:100%}
  .gch-m-required-docs .rd-tr .mid,.gch-m-required-docs .rd-create span{display:inline}
  .gch-m-required-docs .rd-create{margin-left:-8px}
}
@media (max-width:759px){
  .gch-m-required-docs .gch-phead .meta{flex-basis:100%;order:3}
  .gch-m-required-docs .rd-tabbar{flex-wrap:wrap;gap:0 var(--s3)}
  .gch-m-required-docs .rd-tabs{flex-basis:100%;gap:var(--s4)}
  .gch-m-required-docs .rd-count{padding:6px 0}
  .gch-m-required-docs .rd-exall{margin-left:auto}
  .gch-m-required-docs .rd-exall span{display:none}
  .gch-m-required-docs .rd-bulk{display:none}
  .gch-m-required-docs .gch-phead .rd-export span{display:none}
  .gch-dlg-rdexp .rd-exp-o{grid-template-columns:1fr}
}

/* Current workbook columns remain available by scrolling, including on a phone or beside details. */
.gch-m-required-docs .rd-workbook .gch-pane table{display:table;table-layout:fixed}
.gch-m-required-docs .rd-workbook .gch-pane thead{display:table-header-group}
.gch-m-required-docs .rd-workbook .gch-pane tbody{display:table-row-group}
.gch-m-required-docs .rd-workbook .gch-pane tbody tr[data-key],
.gch-m-required-docs .rd-workbook .gch-pane tr.gch-grp,
.gch-m-required-docs .rd-workbook .gch-pane tr.gch-none{display:table-row;padding:0}
.gch-m-required-docs .rd-workbook .gch-pane th,
.gch-m-required-docs .rd-workbook .gch-pane tbody tr[data-key] > td,
.gch-m-required-docs .rd-workbook .gch-pane tr.gch-grp th,
.gch-m-required-docs .rd-workbook .gch-pane tr.gch-none td{display:table-cell;padding:8px 12px;min-width:0;max-width:none;width:auto;height:auto;border-bottom:1px solid var(--line);vertical-align:middle}
.gch-m-required-docs .rd-workbook .gch-pane .is-primary{width:auto;max-width:none;min-width:0}
.gch-m-required-docs .rd-workbook .gch-pane .cell-main{white-space:pre-line}
.gch-m-required-docs .rd-workbook .gch-pane td{overflow:hidden;text-overflow:ellipsis}
.gch-m-required-docs .rd-workbook .gch-pane .cell-sub{display:none}
.gch-m-required-docs .rd-workbook .gch-pane .rd-src{display:block;overflow:hidden;text-overflow:ellipsis}
.gch-m-required-docs .rd-workbook .gch-pane .c-pick{padding:8px 10px}
.gch-m-required-docs .rd-edit{display:block;min-width:0}
.gch-m-required-docs .rd-track{width:100%;min-width:0;height:32px;padding:3px 5px;background:transparent;border:1px solid transparent;color:var(--ink);font:inherit;font-size:13px}
.gch-m-required-docs .rd-track:hover{border-color:var(--line2)}
.gch-m-required-docs .rd-track:focus{outline:1px solid var(--o);background:var(--field)}
.gch-m-required-docs .rd-track:disabled{opacity:.6}
.gch-m-required-docs .rd-edit.is-error .rd-track{border-color:var(--danger)}
.gch-m-required-docs .rd-cell-feedback{display:block;font-size:11px;white-space:normal;color:var(--ok)}
.gch-m-required-docs .rd-cell-feedback:empty{display:none}
.gch-m-required-docs .rd-edit.is-error .rd-cell-feedback{color:var(--danger)}
.gch-m-required-docs .rd-retry[hidden]{display:none}
.gch-m-required-docs .rd-late{color:var(--danger);background:var(--danger-tint, #ffc7ce);padding:2px 4px;font-weight:600}
.gch-m-required-docs .rd-window{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:0 var(--gut) 12px;font-size:13px}
.gch-m-required-docs .rd-window label{display:flex;align-items:center;gap:10px}
.gch-m-required-docs .rd-window .rd-edit{width:110px}
@media (max-width:759px){.gch-m-required-docs .rd-bulk:not([hidden]){display:flex}}
