/* Requests and Updates: the two-pane inbox */
.rq { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 48px; align-items: start; }
.rq-l .tabs { margin-bottom: 14px; }
.rq-l .tline { column-gap: 14px; }
.rq-more { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 16px; margin-top: 14px; }
.rq-list .ql-row.on { background: var(--brand-soft); }
.rq-list .ql-row.on .ql-t { color: var(--brand); }
.rq-detail { min-width: 0; }
.rq-d { position: relative; }
.rq-back { display: none; margin: -4px 0 12px -2px; }
.rq-head { display: flex; align-items: center; gap: 14px; }
.rq-name { font-size: 18px; }
.rq-name a { color: var(--text); }
.rq-key { display: flex; flex-direction: column; gap: 2px; margin: 18px 0 26px; padding: 16px 18px 18px; border-radius: var(--radius); background: var(--bg-soft); border-left: 3px solid var(--line-2); }
.rq-k-trip { background: color-mix(in srgb, var(--brand) 6%, #fff); border-left-color: var(--brand); }
.rq-k-reason { background: color-mix(in srgb, var(--warn) 7%, #fff); border-left-color: var(--warn); }
.rq-k-leave, .rq-k-leave_cancel { background: color-mix(in srgb, var(--leave) 6%, #fff); border-left-color: var(--leave); }
.rq-k-expense { background: color-mix(in srgb, var(--ok) 6%, #fff); border-left-color: var(--ok); }
.rq-fig { font-size: 26px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.25; }
.rq-state { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; margin-top: 4px; }
.rq-body { padding-bottom: 24px; }
.rq-wait { margin-top: 10px; }
.rq-bill { display: block; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-soft); cursor: zoom-in; overflow: hidden; max-width: 100%; }
.rq-bill img { display: block; max-width: 100%; max-height: 360px; object-fit: contain; }
.rq-bar { position: sticky; bottom: 0; z-index: 2; display: flex; align-items: flex-start; gap: 8px; padding: 14px 0 16px; border-top: 1px solid var(--line); background: var(--bg); }
.rq-bar-end { justify-content: flex-end; }
.rq-remark { flex: 1; margin: 0; }
.dr-f .rq-bar { position: static; width: 100%; padding: 0; border: 0; }
/* Updates (Senior Associate): the waiting trips by person, then the team's leave and expenses */
.up-g + .up-g { margin-top: 18px; }
.up-gh { display: flex; align-items: center; gap: 10px; padding: 6px 0 8px; border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.up-gh .btn { margin-left: auto; }
.up-gn { font-weight: 600; color: var(--text); }
.up-team { margin-top: 36px; }
.up-th { margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); }
/* trips and the day drawer (day.js) */
.pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.trip-b .kv dd { overflow-wrap: anywhere; }
.trip-b ~ .dr-sec { margin-top: 30px; }
.dr-sec + div > .trip-b { margin-top: 26px; }
.dd-away { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-top: 8px; }
.dd-reason { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; margin-top: 8px; }
.dd-notesec .dd-note { padding: 10px 12px; border-radius: 8px; background: var(--bg-soft); }
@media (max-width: 899px) {
  .rq { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rq.has-sel .rq-l { display: none; }
  .rq:not(.has-sel) .rq-detail { display: none; }
  .rq-back { display: inline-flex; }
  .rq-bar { flex-wrap: wrap; }
  .rq-remark { flex-basis: 100%; }
}
/* Admin Requests: waiting for Admin, then trips waiting for a Senior Associate */
.rq-grp { padding-top: 4px; }
.rq-grp + .rq-grp { margin-top: 22px; }
.rq-grp-n { margin: -4px 0 8px; }
