/* صفحه عمومی درخواست و فهرست درخواست‌ها */
.icn-rqp, .icn-rqb { --q-navy: #1e3a8a; --q-soft: #e8eefc; --q-ink: #1f2937; --q-muted: #6b7280; --q-line: #d6dbe6; max-width: 880px; margin: 0 auto; padding: 0 16px; color: var(--q-ink); line-height: 1.9; }
.icn-rqp *, .icn-rqb * { box-sizing: border-box; }
.icn-rqp__card { background: #fff; border: 1px solid var(--q-line); border-radius: 18px; padding: 20px 16px; }
.icn-rqp__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.icn-rqp__svc, .icn-rqb__svc { font-size: .82rem; font-weight: 700; color: var(--q-navy); }
.icn-rqp__badge { padding: 0 10px; border-radius: 99px; font-size: .76rem; font-weight: 700; background: #f0f2f7; color: var(--q-muted); }
.icn-rqp__badge--open { background: var(--q-soft); color: var(--q-navy); }
.icn-rqp__title { margin: 8px 0 4px; font-size: 1.35rem; line-height: 1.6; color: var(--q-ink); overflow-wrap: anywhere; }
.icn-rqp__meta { margin: 0 0 12px; color: var(--q-muted); font-size: .86rem; }
.icn-rqp__meta bdi { direction: ltr; unicode-bidi: isolate; font-weight: 700; color: var(--q-navy); }
.icn-rqp__dl { margin: 0 0 12px; display: flex; flex-direction: column; }
.icn-rqp__dl > div { display: grid; grid-template-columns: 1fr; padding: 8px 0; border-bottom: 1px solid #eef0f5; }
.icn-rqp__dl dt { color: var(--q-muted); font-size: .85rem; }
.icn-rqp__dl dd { margin: 0; font-weight: 600; }
.icn-rqp__desc { background: #f5f7fb; border-radius: 12px; padding: 12px 14px; overflow-wrap: anywhere; }
.icn-rqp__from { margin: 12px 0; }
.icn-rqp__mask { color: var(--q-muted); letter-spacing: 1px; }
.icn-rqp__cta { margin-top: 12px; padding: 14px; border-radius: 12px; background: var(--q-soft); text-align: center; }
.icn-rqp__cta p { margin: 0 0 10px; color: var(--q-navy); }
.icn-rqp__btn, .icn-rqb__new { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border-radius: 12px; background: var(--q-navy); color: #fff !important; font-weight: 700; text-decoration: none; }
.icn-rqp__closed { color: var(--q-muted); }
.icn-rqp__more { text-align: center; font-size: .9rem; margin: 16px 0 0; }
.icn-rqb__filter { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.icn-rqb__filter select, .icn-rqb__filter input { min-height: 44px; font: inherit; font-size: 16px; padding: 6px 12px; border: 1.5px solid var(--q-line); border-radius: 12px; background: #fff; width: 100%; }
.icn-rqb__filter button { min-height: 44px; border: 0; border-radius: 12px; background: var(--q-navy); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.icn-rqb__total { color: var(--q-muted); margin: 6px 0 10px; }
.icn-rqb__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.icn-rqb__list a { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; background: #fff; border: 1px solid var(--q-line); border-radius: 14px; color: var(--q-ink) !important; text-decoration: none !important; }
.icn-rqb__list a:hover { border-color: var(--q-navy); }
.icn-rqb__crit { display: flex; flex-wrap: wrap; gap: 4px; }
.icn-rqb__crit span { padding: 0 10px; border-radius: 99px; background: #fff4e0; color: #8a5300; font-size: .78rem; }
.icn-rqb__meta { color: var(--q-muted); font-size: .8rem; }
.icn-rqb__pages { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 14px; }
.icn-rqb__pages a, .icn-rqb__pages span { min-width: 40px; min-height: 40px; display: inline-grid; place-items: center; border: 1px solid var(--q-line); border-radius: 10px; text-decoration: none; color: var(--q-ink); }
.icn-rqb__pages [aria-current] { background: var(--q-navy); color: #fff; }
.icn-rqb--box { margin: 24px auto; padding: 16px; background: #fff; border: 1px solid var(--q-line); border-radius: 18px; }
.icn-rqb--box h2 { font-size: 1.1rem; margin: 0 0 10px; color: var(--q-navy); }
.icn-rqb__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 0 0; }
@media (min-width: 640px) {
    .icn-rqp__card { padding: 26px 24px; }
    .icn-rqp__dl > div { grid-template-columns: 180px 1fr; gap: 12px; }
    .icn-rqb__filter { grid-template-columns: 1.2fr 1.2fr auto auto; }
}
