/* RFI workspace — status pills, direction chips, overdue rows, compose layout */

.rfi-status-pill-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.bomsync-status-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
}

.bomsync-status-pill--draft { background: #f3f4f6; color: #6b7280; }
.bomsync-status-pill--open { background: #eff6ff; color: #2563eb; }
.bomsync-status-pill--under-review { background: #f0fdf9; color: #0d7b5c; }
.bomsync-status-pill--pending-response { background: #fffbeb; color: #d97706; }
.bomsync-status-pill--responded { background: #f0fdf4; color: #059669; }
.bomsync-status-pill--closed { background: #f9fafb; color: #374151; }
.bomsync-status-pill--cancelled { background: #f9fafb; color: #9ca3af; }
.bomsync-status-pill--overdue { background: #fef2f2; color: #dc2626; margin-left: 4px; }

.rfi-direction-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    border: 1px solid transparent;
    cursor: pointer;
    background: #f3f4f6;
    color: #374151;
    transition: background 0.15s, border-color 0.15s;
}

.rfi-direction-chip--readonly {
    cursor: default;
    pointer-events: none;
}

.rfi-direction-chip--outbound { background: #eff6ff; color: #2563eb; }
.rfi-direction-chip--outbound.rfi-direction-chip--active { border-color: #2563eb; }
.rfi-direction-chip--internal { background: #f5f3ff; color: #7c3aed; }
.rfi-direction-chip--internal.rfi-direction-chip--active { border-color: #7c3aed; }
.rfi-direction-chip--inbound { background: #f0fdf9; color: #0d7b5c; }
.rfi-direction-chip--inbound.rfi-direction-chip--active { border-color: #0d7b5c; }
.rfi-direction-chip--all.rfi-direction-chip--active { border-color: #6b7280; }

.rfi-direction-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.rfi-row--overdue td:first-child {
    border-left: 2px solid #a32d2d;
}

.rfi-row--overdue .due-cell::after {
    content: " !";
    color: #a32d2d;
    font-weight: 500;
}

.rfi-kpi-alert {
    color: #dc2626 !important;
}

.rfi-priority-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    color: #111827;
    white-space: nowrap;
}

.rfi-detail-meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
    gap: 0.35rem 0.75rem;
}

.rfi-detail-meta > div {
    min-width: 0;
}

.rfi-detail-meta dt {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--bomsync-text-secondary, #6b7280);
}

.rfi-detail-meta dd {
    margin: 0.05rem 0 0;
    font-size: 0.875rem;
    color: var(--bomsync-text-primary, #111827);
}

.rfi-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
    max-width: 100%;
}

@media (max-width: 768px) {
    .rfi-detail-actions {
        justify-content: flex-start;
        width: 100%;
    }
}

.rfi-bim-anchor {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.875rem;
}

.rfi-bim-anchor__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
}

.rfi-bim-anchor__label { font-weight: 500; color: var(--bomsync-text-primary, #111827); }
.rfi-bim-anchor__model { font-size: 0.75rem; color: var(--bomsync-text-secondary, #6b7280); }
.rfi-bim-anchor__id { font-size: 0.7rem; color: #9ca3af; font-family: ui-monospace, monospace; }
.bomsync-empty-dash { color: #9ca3af; }

.rfi-action-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.rfi-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.75rem;
    border-radius: 0.375rem;
    border: 1px solid var(--bomsync-border-strong, var(--bs-border-color));
    background: var(--bomsync-elevated-surface, var(--bs-body-bg));
    color: var(--bomsync-text-primary, var(--bs-body-color));
    font-size: 0.875rem;
    text-decoration: none;
    cursor: pointer;
}

.rfi-action-btn:hover {
    background: rgb(var(--bomsync-shadow-rgb, 17 27 44) / 0.06);
    color: var(--bomsync-text-primary, var(--bs-body-color));
}

.rfi-action-btn--primary {
    background: var(--brand-blue, #111b2c);
    border-color: var(--brand-blue, #111b2c);
    color: var(--bomsync-on-dark-text, #fff);
}

.rfi-action-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.rfi-compose-grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 1rem;
}

@media (max-width: 768px) {
    .rfi-compose-grid {
        grid-template-columns: 1fr;
    }
}

.rfi-thread-item {
    border: 1px solid var(--bomsync-border-muted, #e5e7eb);
    border-radius: 0.5rem;
    padding: 0.55rem 0.7rem;
    margin-bottom: 0.5rem;
    background: var(--bomsync-elevated-surface, #fff);
}

.rfi-thread-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.45rem;
    align-items: center;
    margin-bottom: 0.2rem;
    font-size: 0.85rem;
    color: var(--bomsync-text-secondary, #6b7280);
}

.rfi-thread-item__official {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    background: #ecfdf5;
    color: #059669;
}

.rfi-detail-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.4rem 0.85rem;
    align-items: flex-start;
    margin-bottom: 0.65rem;
}

.rfi-detail-number {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--brand-teal, #0d7b5c);
    line-height: 1.25;
}

@media (max-width: 768px) {
    .rfi-detail-header {
        grid-template-columns: 1fr;
    }
}

.rfi-phase2-stub {
    border: 1px dashed var(--bomsync-border-strong, #cbd5e1);
    border-radius: 0.5rem;
    padding: 1.25rem;
    background: var(--bomsync-elevated-surface, #fff);
}
