/* roulang page: index */
:root {
            --primary: #0C5ADB;
            --primary-hover: #0946B0;
            --secondary: #00A389;
            --text-main: #0F172A;
            --text-muted: #475569;
            --bg-page: #F8FAFC;
            --bg-card: #FFFFFF;
            --shadow-card: 0 4px 20px -2px rgba(12, 90, 219, 0.05);
            --shadow-hover: 0 12px 28px -4px rgba(12, 90, 219, 0.12);
        }
        * { box-sizing: border-box; }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--bg-page);
            color: var(--text-main);
            line-height: 1.6;
            margin: 0;
            padding: 0;
            scroll-behavior: smooth;
        }
        .custom-card {
            background-color: var(--bg-card);
            border-radius: 0.75rem;
            box-shadow: var(--shadow-card);
            transition: all 0.25s ease-in-out;
            border: 1px solid #E2E8F0;
        }
        .custom-card:hover {
            box-shadow: var(--shadow-hover);
            transform: translateY(-2px);
            border-color: #CBD5E1;
        }
        .search-badge-btn {
            background: rgba(255, 255, 255, 0.9);
            border: 1px solid #CBD5E1;
            padding: 0.35rem 0.85rem;
            border-radius: 9999px;
            font-size: 0.875rem;
            color: #334155;
            transition: all 0.2s ease;
        }
        .search-badge-btn:hover {
            background: #0C5ADB;
            color: #ffffff;
            border-color: #0C5ADB;
        }
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }
        .accordion-content.active {
            max-height: 350px;
        }
        .tabular-num { font-variant-numeric: tabular-nums; }
