.requests-loading,.requests-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);min-height:200px;text-align:center;color:var(--text-secondary);}.requests-list{display:flex;flex-direction:column;gap:var(--space-md);}.request-item{padding:var(--space-md);border:1px solid var(--border);background:var(--bg-secondary);
&:hover{border-color:var(--text-tertiary);}}.request-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm);}.request-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0;flex:1;}.request-status{flex-shrink:0;text-transform:capitalize;}.status-open{background:color-mix(in srgb,var(--success),transparent 80%);color:var(--success);}.status-fulfilled{background:color-mix(in srgb,var(--accent),transparent 80%);color:var(--accent);}.status-closed{background:color-mix(in srgb,var(--text-tertiary),transparent 80%);color:var(--text-tertiary);}.request-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-sm);line-height:1.5;}.request-meta{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-xs);}.request-tags{display:flex;gap:var(--space-xs);flex-wrap:wrap;}.request-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border-light);}.request-modal{position:fixed;inset:0;margin:auto;padding:0;width:min(90vw,500px);max-height:85vh;background:var(--bg-primary);border:1px solid var(--border);box-shadow:var(--shadow-md);
&::backdrop{background:color-mix(in srgb,var(--bg-primary) 60%,transparent);backdrop-filter:blur(4px);}}.request-form{padding:var(--space-lg);
& h2{font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--space-sm);color:var(--text-primary);}
& .form-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-lg);}}.form-group{margin-bottom:var(--space-md);
& label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-xs);}
& .required{color:var(--error);}
& input,
& textarea{width:100%;}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);}.page-header .btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);gap:var(--space-xs);
& svg{width:14px;height:14px;}}