.requests-container { width: min(96vw, 1600px); margin: 1.25rem auto; padding: 0 1rem; }
.requests-container { background: linear-gradient(180deg, rgba(10,54,92,0.05), rgba(10,54,92,0.02)); border-radius: 14px; padding: 1rem; }
.requests-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.requests-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.requests-actions input[type="search"], .requests-actions select { border:1px solid rgba(15,76,129,0.18); border-radius: 12px; min-height: 38px; padding: .35rem .6rem; }
.requests-actions .btn { min-height: 38px; }
.table-wrap { background: #fff; border: 1px solid rgba(15,76,129,0.12); border-radius: 12px; overflow: hidden; box-shadow: 0 8px 20px rgba(15,76,129,0.08); }
table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
thead th { position: sticky; top: 0; background: linear-gradient(180deg, rgba(15,76,129,0.18), rgba(15,76,129,0.1)); color: #0a365c; text-align: left; padding: .65rem 1rem; backdrop-filter: saturate(1.1); }
tbody td { border-top: 1px solid rgba(15,76,129,0.12); padding: .6rem 1rem; vertical-align: top; }
tbody tr:nth-child(odd) { background: rgba(15,76,129,0.04); }
tbody tr:hover { background: rgba(15,76,129,0.08); }
.pager { display:flex; align-items:center; justify-content: space-between; gap:.75rem; padding: .65rem 1rem; border-top: 1px solid rgba(15,76,129,0.12); background: rgba(15,76,129,0.06); }
.muted { color: #586a82; }
.status { font-weight: 700; font-size: .85rem; padding: .15rem .5rem; border-radius: 999px; display:inline-block; }
.status-draft { background: rgba(255,189,67,0.2); color: #8a5705; }
.status-submitted { background: rgba(33,161,121,0.15); color: #0d6147; }
.status-error { background: rgba(222,22,59,0.15); color: #741a2a; }
.right { text-align: right; }
.mono { font-family: var(--mono, monospace); }
.row-error { background: rgba(222,22,59,0.08); }
.code-badge { display:inline-block; margin-left:.35rem; padding:.05rem .4rem; border-radius:999px; font-size:.75rem; font-weight:700; background: rgba(222,22,59,0.15); color:#741a2a; vertical-align: middle; }
.sortable { cursor: pointer; user-select: none; }
.sort-ind { margin-left:.25rem; opacity:.7; font-size:.8em; }
.compact-rows table td, .compact-rows table th { padding: .4rem .7rem; }
.tr-badge { margin-left:.35rem; color:#586a82; font-size:.8rem; }
.note-badge { margin-left:.25rem; font-size:.9rem; }
.btn--tiny { padding: .2rem .45rem; font-size: .75rem; border-radius: 999px; }
/* Preview */
.preview-row td { background:#f8fbff; }
.preview-content { overflow: hidden; max-height: 0; transition: max-height .25s ease; }
/* Chips for statuses */
.chip { display:inline-flex; align-items:center; gap:.35rem; padding:.2rem .55rem; border-radius:999px; font-weight:700; font-size:.8rem; border:1px solid rgba(15,76,129,0.15); background:#fff; color:#0a365c; transition: transform .15s ease, box-shadow .15s ease; animation: fadeIn .25s ease; }
.chip--pending { background: rgba(255,189,67,0.18); border-color: rgba(255,189,67,0.35); color:#8a5705; }
.chip--success { background: rgba(33,161,121,0.15); border-color: rgba(33,161,121,0.35); color:#0f6649; }
.chip--error { background: rgba(222,22,59,0.15); border-color: rgba(222,22,59,0.35); color:#741a2a; }
.chip__icon { font-size:.9rem; }
/* Badges for small indicators */
.badge { display:inline-flex; align-items:center; gap:.25rem; padding:.1rem .4rem; border-radius:999px; font-weight:700; font-size:.75rem; border:1px solid rgba(15,76,129,0.18); background:#fff; color:#586a82; }
.badge--note { background: rgba(33,150,243,0.12); border-color: rgba(33,150,243,0.28); color:#0a4e78; }
.badge--internal { background: rgba(124,77,255,0.12); border-color: rgba(124,77,255,0.28); color:#4a2cb3; }
.badge--attach { background: rgba(15,76,129,0.10); border-color: rgba(15,76,129,0.24); color:#0a365c; }
/* Pills for message states */
.pill { display:inline-flex; align-items:center; padding:.1rem .4rem; border-radius:999px; font-weight:700; font-size:.72rem; animation: fadeIn .2s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(-2px);} to { opacity: 1; transform: none; } }
.pill--error { background: rgba(222,22,59,0.15); color:#741a2a; }
.pill--ok { background: rgba(33,161,121,0.18); color:#0f6649; }
.pill--info { background: rgba(15,76,129,0.10); color:#0a365c; }
.preview-row > td { animation: fadeIn .18s ease; }
.preview-content { overflow: hidden; max-height: 0; transition: max-height .25s ease; }
