/* RequBoard 自定义样式 */

/* ── 头像 ── */
.avatar-placeholder {
    width: 42px; height: 42px; border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white; display: flex; align-items: center; justify-content: center;
    font-weight: bold; font-size: 1.1rem;
}
.avatar-placeholder-lg {
    width: 56px; height: 56px; border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white; display: flex; align-items: center; justify-content: center;
    font-weight: bold; font-size: 1.4rem;
}
.avatar-placeholder-sm {
    width: 32px; height: 32px; border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white; display: flex; align-items: center; justify-content: center;
    font-weight: bold; font-size: 0.8rem;
}
.avatar-img {
    width: 42px; height: 42px; border-radius: 50%; object-fit: cover;
}
.avatar-img-lg {
    width: 56px; height: 56px; border-radius: 50%; object-fit: cover;
}
.avatar-img-sm {
    width: 32px; height: 32px; border-radius: 50%; object-fit: cover;
}

/* ── 帖子卡片 ── */
.forum-post {
    transition: box-shadow 0.2s;
    border-left: 3px solid transparent;
}
.forum-post:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-left-color: #0d6efd;
}

/* ── 标签 ── */
.badge.bg-outline-primary { background: transparent !important; color: #0d6efd; }
.badge.bg-outline-danger { background: transparent !important; color: #dc3545; }

/* ── 卡片 ── */
.card { border: none; border-radius: 12px; }

/* ── 富文本内容 ── */
.rich-content { line-height: 1.8; word-break: break-word; }
.rich-content img { max-width: 100%; height: auto; border-radius: 8px; margin: 8px 0; }
.rich-content pre { background: #f8f9fa; padding: 12px; border-radius: 8px; overflow-x: auto; }
.rich-content code { background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-size: 0.9em; }
.rich-content blockquote { border-left: 4px solid #0d6efd; padding-left: 16px; color: #666; margin: 16px 0; }

/* ── Quill 编辑器 ── */
.ql-editor { min-height: 200px; }
.ql-toolbar { border-radius: 8px 8px 0 0; }
.ql-container { border-radius: 0 0 8px 8px; }

/* ── 投票区 ── */
.vote-section { background: #f8f9fa; border-radius: 8px; padding: 12px; margin: 0 -12px; }

/* ── 分页 ── */
.pagination .page-link { border-radius: 8px; margin: 0 2px; }

/* ── 相对时间 ── */
.relative-time { cursor: help; }

/* ── 签名档 ── */
.fst-italic { font-style: italic; }

/* ── 响应式 ── */
@media (max-width: 576px) {
    .avatar-placeholder, .avatar-img { width: 36px; height: 36px; font-size: 0.9rem; }
    .navbar-brand { font-size: 1rem; }
    .vote-section { flex-wrap: wrap; }
    .card-body { padding: 12px; }
    .requirement-filter .form-select { width: 100%; }
    .roadmap-grid { --bs-gutter-y: 0.75rem; }
}

.roadmap-item-extra { display: none; }
.roadmap-expanded .roadmap-item-extra { display: block; }
.roadmap-list { max-height: 62vh; overflow-y: auto; }
/* RequBoard 自定义样式 */

/* 论坛风格头像占位 */
.avatar-placeholder {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1rem;
}

/* 帖子卡片 */
.forum-post {
    transition: box-shadow 0.2s;
    border-left: 3px solid transparent;
}
.forum-post:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-left-color: #0d6efd;
}

/* 状态标签增强 */
.badge.bg-outline-primary { background: transparent; color: #0d6efd; }
.badge.bg-outline-danger { background: transparent; color: #dc3545; }

/* 登录/注册页 */
.card { border: none; border-radius: 12px; }

/* 响应式调整 */
@media (max-width: 576px) {
    .avatar-placeholder { width: 36px; height: 36px; font-size: 0.9rem; }
    .navbar-brand { font-size: 1rem; }
}
.acceptance-summary {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 0.45rem 0.55rem;
    border-left: 3px solid var(--bs-success);
    border-radius: 0.25rem;
    background: var(--bs-success-bg-subtle);
    color: var(--bs-secondary-color);
    font-size: 0.82rem;
    line-height: 1.45;
}

.acceptance-summary span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.acceptance-summary-list {
    max-width: 48rem;
}
