/* 自定义样式 */
.hero-section {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    color: #fff;
    padding: 60px 0;
}
.hero-section .display-4 { color: #fff; }
.hero-section .lead { color: rgba(255,255,255,0.8); }

.feature-icon {
    width: 80px; height: 80px; margin: 0 auto;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(0,0,0,0.05);
}

.card { border-radius: 12px; overflow: hidden; }
.card-header { font-weight: 600; }
.table th { font-weight: 600; white-space: nowrap; }
.badge { font-weight: 500; }
.navbar-brand { font-weight: 700; font-size: 1.3rem; }
.alert { border-radius: 8px; }
.btn { border-radius: 6px; }
.breadcrumb { background: none; padding: 0; }
iframe { border-radius: 0 0 12px 12px; }

@media (max-width: 768px) {
    .hero-section { padding: 30px 0; }
    .hero-section .display-4 { font-size: 1.8rem; }
}

.table .btn-sm { padding: 0.25rem 0.4rem; font-size: 0.8rem; }
.form-select-sm { width: auto; display: inline-block; }

/* 公告面板 */
.announcement-panel {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.announcement-header {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    padding: 12px 16px;
    font-weight: 600;
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.announcement-list {
    max-height: 320px;
    overflow-y: auto;
}
.announcement-item {
    display: block;
    padding: 10px 14px;
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    transition: background 0.2s;
}
.announcement-item:last-child { border-bottom: none; }
.announcement-item:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.announcement-title {
    font-size: 0.95rem;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.announcement-date {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 3px;
}
.announcement-empty {
    padding: 20px 14px;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9rem;
}

/* 公告详情 */
.announcement-detail-card {
    border-radius: 12px;
    border: none;
}
.announcement-detail-card .card-header {
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.announcement-detail-card .announcement-content {
    line-height: 1.8;
    color: #333;
    white-space: pre-wrap;
}

/* 后台 */
.container-fluid { max-width: 1400px; }

/* 注册免责声明滚动框 */
.terms-box {
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 14px 16px;
    background: #fafbfc;
    font-size: 0.9rem;
    line-height: 1.7;
    color: #333;
}
.terms-box p { margin-bottom: 0.6rem; }
.terms-box p:last-child { margin-bottom: 0; }
.terms-box::-webkit-scrollbar { width: 8px; }
.terms-box::-webkit-scrollbar-thumb { background: #c4c9d0; border-radius: 4px; }
.terms-hint { color: #d63384; }
.terms-hint.ok { color: #198754; }
.terms-box .text-risk { color: #dc3545; font-weight: 600; }
