:root {
            /* AASP Main Theme Palette */
            --aasp-primary: #D1236B;
            --aasp-primary-dark: #A31250;
            --aasp-primary-light: #FDEBF3;
            --aasp-accent: #FEB713;
            --aasp-indigo: #2D2769;
            --aasp-indigo-dark: #1E1A47;
            --aasp-bg-cream: #FFFDF9;
            --aasp-teal: #1D9E75;
            --aasp-danger: #D83F52;

            /* Map to Semantic Variables */
            --brand-primary: var(--aasp-indigo);
            --brand-secondary: var(--aasp-primary);
            --brand-warning: var(--aasp-accent);
        }

        body {
            font-family: 'Segoe UI', 'Sarabun', system-ui, -apple-system, sans-serif;
            color: var(--aasp-indigo-dark);
            line-height: 1.7;
            background-color: var(--aasp-bg-cream);
        }

        /* ================= HERO & LAYOUT ================= */
        .hero-section {
            background: linear-gradient(135deg, var(--aasp-indigo) 0%, var(--aasp-indigo-dark) 100%);
            color: white;
            padding: 4rem 0;
            margin-bottom: 3rem;
        }

        .hero-section h1 {
            font-weight: 700;
            font-size: 2.5rem;
        }

        .toc {
            position: sticky;
            top: 20px;
        }

        .toc a {
            color: #6B668A;
            text-decoration: none;
            display: block;
            padding: 0.4rem 0.75rem;
            border-left: 3px solid transparent;
            transition: all 0.2s;
            font-size: 0.9rem;
        }

        .toc a:hover,
        .toc a.active {
            color: var(--brand-primary);
            border-left-color: var(--brand-secondary);
            background-color: var(--aasp-primary-light);
        }

        .content-section {
            background: white;
            padding: 2.5rem;
            border-radius: 12px;
            box-shadow: 0 2px 12px rgba(45, 39, 105, 0.05);
            margin-bottom: 2rem;
        }

        .content-section h2 {
            color: var(--brand-primary);
            font-weight: 700;
            margin-bottom: 1.5rem;
            padding-bottom: 0.75rem;
            border-bottom: 3px solid var(--brand-secondary);
            display: inline-block;
        }

        .content-section h3 {
            color: var(--brand-primary);
            font-weight: 600;
            font-size: 1.25rem;
            margin-top: 1.5rem;
            margin-bottom: 1rem;
        }

        /* ================= ALERT BOXES ================= */
        .highlight-box {
            background-color: var(--aasp-primary-light);
            border-left: 4px solid var(--brand-secondary);
            padding: 1.25rem 1.5rem;
            border-radius: 6px;
            margin: 1.5rem 0;
        }

        .warning-box {
            background-color: #FFF9E6;
            border-left: 4px solid var(--brand-warning);
            padding: 1.25rem 1.5rem;
            border-radius: 6px;
            margin: 1.5rem 0;
        }

        .danger-box {
            background-color: #FDF2F4;
            border-left: 4px solid var(--aasp-danger);
            padding: 1.25rem 1.5rem;
            border-radius: 6px;
            margin: 1.5rem 0;
        }

        .info-box {
            background-color: #F4F5FA;
            border-left: 4px solid var(--aasp-indigo);
            padding: 1.25rem 1.5rem;
            border-radius: 6px;
            margin: 1.5rem 0;
        }

        /* ================= TABLES & LISTS ================= */
        .data-table {
            font-size: 0.95rem;
        }

        /* อัปเดตสีเป็น Magenta */
        .data-table th {
            background-color: var(--brand-secondary); 
            color: white;
            font-weight: 600;
        }

        .prohibited-list {
            background-color: #FDF2F4;
            border: 1px solid #F5CDD4;
            border-radius: 8px;
            padding: 1.5rem;
        }

        .prohibited-list li {
            padding: 0.5rem 0;
            border-bottom: 1px dashed #F5CDD4;
        }

        .prohibited-list li:last-child {
            border-bottom: none;
        }

        .prohibited-list li::marker {
            color: var(--aasp-danger);
        }

        /* ================= CARDS ================= */
        .rights-card {
            background: linear-gradient(135deg, #ffffff 0%, var(--aasp-bg-cream) 100%);
            border: 1px solid #E5CDD8;
            border-radius: 10px;
            padding: 1.5rem;
            height: 100%;
            transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
        }

        .rights-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 20px rgba(45, 39, 105, 0.08);
            border-color: var(--brand-secondary);
        }

        .rights-card .icon {
            font-size: 2.5rem;
            color: var(--brand-secondary);
            margin-bottom: 1rem;
        }

        .rights-card h4 {
            color: var(--brand-primary);
            font-size: 1.1rem;
            font-weight: 600;
        }

        /* อัปเดตสีเป็น Magenta */
        .contact-card {
            background: linear-gradient(135deg, var(--aasp-primary), var(--aasp-primary-dark));
            color: white;
            border-radius: 12px;
            padding: 2rem;
        }

        .contact-card a {
            color: var(--aasp-accent) !important;
        }

        /* ================= FOOTER & MISC ================= */
        footer {
            background-color: var(--aasp-indigo-dark);
            color: #adb5bd;
            padding: 3rem 0 1.5rem;
            margin-top: 4rem;
        }

        footer a {
            color: #adb5bd;
            text-decoration: none;
        }

        footer a:hover {
            color: white;
        }

        .last-updated {
            color: #6B668A;
            font-style: italic;
            font-size: 0.9rem;
        }

        .breadcrumb-item + .breadcrumb-item::before {
            color: rgba(255, 255, 255, 0.6);
        }

        .breadcrumb a {
            color: rgba(255, 255, 255, 0.85);
            text-decoration: none;
        }

        .breadcrumb .active {
            color: white;
        }

        .fee-badge {
            display: inline-block;
            padding: 0.25rem 0.6rem;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
        }

        .fee-badge.refund-full { background: #E8F5F1; color: var(--aasp-teal); }
        .fee-badge.refund-partial { background: #FFF9E6; color: #B38000; }
        .fee-badge.refund-none { background: #FDF2F4; color: var(--aasp-danger); }

        /* ================= RESPONSIVE ================= */
        @media (max-width: 768px) {
            .hero-section {
                padding: 2.5rem 0;
            }

            .hero-section h1 {
                font-size: 1.75rem;
            }

            .content-section {
                padding: 1.5rem;
            }
        }