/* S1 Request Center (s1-requests.js). Only .s1rq-* rules; every other style is the shared kit (s1-kit.css).
 * Hue means status, ink means action: nothing here adds a colour. */
.s1rq-host { display: block; }
.s1rq-cols { align-items: start; }
.s1rq-main .k-panel-body { padding: 0; }
.s1rq-tabs { padding: 0 8px; margin: 0; background: var(--s1-panel-head); border-top-left-radius: var(--s1-radius-panel); border-top-right-radius: var(--s1-radius-panel); }
.s1rq-tools:empty { display: none; }
.s1rq-tools { padding: 10px 14px 0; }
.s1rq-search { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; border: 1px solid var(--s1-line); border-radius: 10px; background: #fff; color: var(--s1-mute); }
.s1rq-search:focus-within { border-color: var(--s1-ink); color: var(--s1-ink); }
.s1rq-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: 500 14px var(--k-font-ui); color: var(--s1-ink); }
.s1rq-body { padding-top: 6px; }
.s1rq-body > .k-callout, .s1rq-body > .k-empty { margin: 10px 14px; }
.s1rq-body .k-list > .k-row:first-child { border-top: 0; }

.s1rq-start { gap: 0; }
.s1rq-start li + li { border-top: 1px solid var(--s1-line-soft); }
.s1rq-start-item { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px 16px; cursor: pointer; transition: background var(--k-dur); }
.s1rq-start-item:hover { background: var(--s1-panel-head); }
.s1rq-start-item:focus-visible { outline: 2px solid var(--s1-ink); outline-offset: -2px; }
.s1rq-start-ico { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: var(--s1-column); color: var(--s1-ink); }
.s1rq-start-item b { display: block; font: 650 14px/1.3 var(--k-font-ui); }
.s1rq-start-item small { display: block; margin-top: 2px; color: var(--s1-mute); font: 500 12.5px/1.4 var(--k-font-ui); }
.s1rq-chev { color: var(--s1-mute); }
.s1rq-startpanel .k-panel-body { padding: 0; }

.s1rq-skel span { width: 28px; height: 28px; border-radius: 8px; background: var(--s1-column); }
.s1rq-skel b, .s1rq-skel i { display: block; height: 12px; border-radius: 6px; background: var(--s1-column); }
.s1rq-skel b { width: min(260px, 60%); margin-bottom: 8px; } .s1rq-skel i { width: min(160px, 40%); }

.s1rq-h3 { margin: 0; font: 700 13px var(--k-font-ui); letter-spacing: .04em; text-transform: uppercase; color: var(--s1-mute); }
.s1rq-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0; padding: 14px 16px; border: 1px solid var(--s1-line-soft); border-radius: 12px; background: var(--s1-panel-head); }
.s1rq-facts div { min-width: 0; }
.s1rq-facts dt, .s1rq-answers dt { font: 650 12px var(--k-font-ui); color: var(--s1-mute); margin-bottom: 3px; }
.s1rq-facts dd, .s1rq-answers dd { margin: 0; font: 500 14px/1.45 var(--k-font-ui); overflow-wrap: anywhere; }
.s1rq-answers { display: grid; gap: 12px; margin: 0; }
.s1rq-answers dd { white-space: pre-wrap; }
.s1rq-docs { display: flex; flex-wrap: wrap; gap: 8px; }
.s1rq-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.s1rq-warn { color: var(--s1-late); font-weight: 650; }

.s1rq-form { gap: 14px 16px; }
.s1rq-fsec { padding-top: 6px; border-top: 1px solid var(--s1-line-soft); }
.s1rq-fsec:first-child { border-top: 0; padding-top: 0; }
.s1rq-fsec h3 { margin: 0; font: 700 14px var(--k-font-display); }
.s1rq-fsec p { margin: 4px 0 0; color: var(--s1-mute); font-size: 13px; }
.s1rq-state { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; color: var(--s1-mute); font-size: 12.5px; }
.s1rq-more > summary { cursor: pointer; font-weight: 650; padding: 4px 0; }
.s1rq-more > .k-form-grid { margin-top: 12px; }
.s1rq-error { margin-top: 4px; }
.k-field.has-error .k-input, .k-field.has-error .k-select, .k-field.has-error .k-textarea, .k-field.has-error .k-picker { border-color: var(--s1-late); }
.k-field .k-opt span:empty { display: none; }

@media (max-width: 640px) {
  .s1rq-facts { grid-template-columns: minmax(0, 1fr); }
  .s1rq-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .s1rq-tabs .k-tab { white-space: nowrap; }
  .s1rq .k-head-actions { width: 100%; }
}

.k-pipe > li.is-soon .k-pipe-node { border-color: var(--s1-soon); color: var(--s1-soon); box-shadow: 0 0 0 4px rgb(178 106 0 / .12); }
.k-pipe > li.is-soon .k-pipe-label { color: var(--s1-ink); font-weight: 700; }

.s1rq-guide { margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--s1-line-soft); border-radius: 8px; font-size: 13px; color: var(--s1-mute); }
.s1rq-guide a { font-weight: 600; text-decoration: underline; }
.s1rq-roles { margin-top: 8px; }
.s1rq-role { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.s1rq-role label { flex: 1 1 120px; min-width: 0; font-size: 13px; }
.s1rq-role .k-select { flex: 1 1 160px; min-width: 0; }
.s1rq-guide.k-field { margin: 0; }

/* D5: start from a document */
.s1rq-doc, .s1rq-plan { margin: 0 0 14px; padding: 12px; border: 1px solid var(--s1-line-soft); border-radius: 8px; }
.s1rq-plan { margin: 14px 0 0; }
.s1rq-doc-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.s1rq-doc-row input[type=file] { max-width: 100%; font-size: 13px; }
.s1rq-doc-ok { display: flex; gap: 8px; align-items: center; font-size: 13px; }
.s1rq-conf { margin-left: 6px; font-weight: 400; vertical-align: middle; }
.s1rq-conf .k-pill { font-size: 11px; }

/* Decided tab (reviewers) and the decided-request modal */
.s1rq-dfilters { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(120px, 1fr)); gap: 8px; align-items: end; padding: 10px 14px 4px; }
.s1rq-dfilters .s1rq-search { grid-column: 1 / -1; }
.s1rq-df { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.s1rq-df .k-select, .s1rq-df .k-input { width: 100%; min-width: 0; }
.s1rq-dlabel { font: 650 12px var(--k-font-ui); color: var(--s1-mute); }
.s1rq-dcount { margin: 6px 14px 0; }
.s1rq-timeline { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--s1-line-soft); display: grid; gap: 12px; }
.s1rq-tl { position: relative; }
.s1rq-tl::before { content: ''; position: absolute; left: -20px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--s1-line); }
.s1rq-tl--decision::before, .s1rq-tl--amend::before { border-color: var(--s1-ink); }
.s1rq-tl-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.s1rq-tl-head time { margin-left: auto; }
.s1rq-tl-detail, .s1rq-tl-msg { margin: 2px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }

@media (max-width: 640px) {
  .s1rq-dfilters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .s1rq-dfilters .k-btn { grid-column: 1 / -1; justify-self: start; }
  .s1rq-tl-head time { margin-left: 0; flex-basis: 100%; }
}
