{"id":20210,"date":"2026-04-30T14:48:12","date_gmt":"2026-04-30T07:48:12","guid":{"rendered":"https:\/\/agr.rmutsv.ac.th\/ruts\/?page_id=20210"},"modified":"2026-09-14T22:17:57","modified_gmt":"2026-09-14T15:17:57","slug":"complaint-appeal-2","status":"publish","type":"page","link":"https:\/\/agr.rmutsv.ac.th\/ruts\/complaint-appeal-2\/","title":{"rendered":"\u0e23\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\/\u0e2d\u0e38\u0e17\u0e18\u0e23\u0e13\u0e4c"},"content":{"rendered":"\n<p class=\"has-text-align-center wp-block-paragraph\"><\/p>\n\n\n\n<meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\u0e02\u0e49\u0e2d\u0e41\u0e19\u0e30\u0e19\u0e33\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e41\u0e08\u0e49\u0e07\u0e02\u0e49\u0e2d\u0e40\u0e2a\u0e19\u0e2d\u0e41\u0e19\u0e30\/\u0e23\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19<\/title>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@500;600;700&amp;family=Prompt:wght@300;400;500;600;700&amp;display=swap\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\">\n    \n    <style>\n        :root {\n            --primary: #0f172a;\n            --brand-blue: #2563eb;\n            --brand-cyan: #06b6d4;\n            --brand-amber: #f59e0b;\n            --brand-rose: #f43f5e;\n            --bg-main: #f8fafc;\n            --card-bg: rgba(255, 255, 255, 0.85);\n            --card-border: rgba(226, 232, 240, 0.8);\n            --text-main: #1e293b;\n            --text-muted: #64748b;\n        }\n\n        body {\n            background-color: var(--bg-main);\n            margin: 0;\n            padding: 0;\n        }\n\n        .complaint-wrapper {\n            font-family: 'Prompt', 'Plus Jakarta Sans', sans-serif;\n            color: var(--text-main);\n            line-height: 1.6;\n            padding: 40px 15px;\n            background: \n                radial-gradient(circle at 10% 20%, rgba(37, 99, 235, 0.05) 0%, transparent 40%),\n                radial-gradient(circle at 90% 80%, rgba(6, 182, 212, 0.05) 0%, transparent 40%);\n        }\n\n        .complaint-container {\n            max-width: 1000px;\n            margin: 0 auto;\n            background: rgba(255, 255, 255, 0.75);\n            backdrop-filter: blur(16px);\n            -webkit-backdrop-filter: blur(16px);\n            padding: 40px;\n            border-radius: 28px;\n            border: 1px solid rgba(255, 255, 255, 0.8);\n            box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);\n        }\n\n        .header {\n            text-align: center;\n            margin-bottom: 40px;\n        }\n\n        .header .badge {\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            background: rgba(37, 99, 235, 0.08);\n            color: var(--brand-blue);\n            padding: 6px 16px;\n            border-radius: 100px;\n            font-size: 0.85rem;\n            font-weight: 600;\n            margin-bottom: 12px;\n        }\n\n        .header h1 {\n            color: var(--primary);\n            font-size: 2.1rem;\n            font-weight: 700;\n            letter-spacing: -0.02em;\n            margin: 0 0 8px 0;\n        }\n\n        .header p {\n            color: var(--text-muted);\n            font-size: 1.05rem;\n            margin: 0;\n        }\n\n        \/* 2026 Bento Grid Dashboard *\/\n        .dashboard-bento {\n            display: grid;\n            grid-template-columns: repeat(12, 1fr);\n            gap: 16px;\n            margin-bottom: 40px;\n        }\n\n        .bento-card {\n            background: var(--card-bg);\n            border: 1px solid var(--card-border);\n            border-radius: 20px;\n            padding: 24px;\n            position: relative;\n            overflow: hidden;\n            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);\n        }\n\n        .bento-card:hover {\n            transform: translateY(-4px);\n            box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.08);\n            border-color: rgba(37, 99, 235, 0.3);\n        }\n\n        \/* KPI Card Spans *\/\n        .kpi-card { grid-column: span 3; }\n        .cat-card { grid-column: span 12; }\n\n        .kpi-head {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            margin-bottom: 16px;\n        }\n\n        .kpi-title {\n            font-size: 0.875rem;\n            font-weight: 500;\n            color: var(--text-muted);\n        }\n\n        .kpi-icon {\n            width: 40px;\n            height: 40px;\n            border-radius: 12px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 1.1rem;\n        }\n\n        .kpi-value {\n            font-family: 'Plus Jakarta Sans', sans-serif;\n            font-size: 2.25rem;\n            font-weight: 700;\n            letter-spacing: -0.03em;\n            line-height: 1;\n        }\n\n        \/* Color Variations (Dark\/Neon Accents) *\/\n        .kpi-total .kpi-icon { background: rgba(37, 99, 235, 0.1); color: var(--brand-blue); }\n        .kpi-total .kpi-value { color: var(--brand-blue); }\n\n        .kpi-complaint .kpi-icon { background: rgba(245, 158, 11, 0.1); color: var(--brand-amber); }\n        .kpi-complaint .kpi-value { color: var(--brand-amber); }\n\n        .kpi-appeal .kpi-icon { background: rgba(6, 182, 212, 0.1); color: var(--brand-cyan); }\n        .kpi-appeal .kpi-value { color: var(--brand-cyan); }\n\n        .kpi-corruption .kpi-icon { background: rgba(244, 63, 94, 0.1); color: var(--brand-rose); }\n        .kpi-corruption .kpi-value { color: var(--brand-rose); }\n\n        \/* Categories Pill Grid *\/\n        .cat-header {\n            font-size: 0.95rem;\n            font-weight: 600;\n            color: var(--primary);\n            margin-bottom: 16px;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n\n        .cat-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n            gap: 12px;\n        }\n\n        .cat-pill {\n            background: rgba(241, 245, 249, 0.6);\n            border: 1px solid rgba(226, 232, 240, 0.8);\n            border-radius: 14px;\n            padding: 12px 18px;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            transition: all 0.2s ease;\n        }\n\n        .cat-pill:hover {\n            background: #ffffff;\n            border-color: var(--brand-blue);\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);\n        }\n\n        .cat-name {\n            font-size: 0.9rem;\n            font-weight: 500;\n            color: var(--text-main);\n        }\n\n        .cat-count {\n            font-family: 'Plus Jakarta Sans', sans-serif;\n            background: #ffffff;\n            color: var(--primary);\n            padding: 4px 12px;\n            border-radius: 100px;\n            font-size: 0.8rem;\n            font-weight: 700;\n            border: 1px solid var(--card-border);\n        }\n\n        \/* Info & Guidelines Layout *\/\n        .section-heading {\n            font-size: 1.1rem;\n            font-weight: 600;\n            color: var(--primary);\n            margin: 30px 0 16px 0;\n            display: flex;\n            align-items: center;\n            gap: 10px;\n        }\n\n        .info-bento {\n            display: grid;\n            grid-template-columns: repeat(2, 1fr);\n            gap: 16px;\n        }\n\n        .info-card {\n            background: var(--card-bg);\n            border: 1px solid var(--card-border);\n            border-radius: 16px;\n            padding: 20px;\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n        }\n\n        .info-icon {\n            background: rgba(37, 99, 235, 0.08);\n            color: var(--brand-blue);\n            width: 42px;\n            height: 42px;\n            border-radius: 12px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 1.2rem;\n            flex-shrink: 0;\n        }\n\n        .warning-bento {\n            background: rgba(254, 243, 199, 0.4);\n            border: 1px solid rgba(252, 211, 77, 0.5);\n            border-radius: 18px;\n            padding: 24px;\n            margin-top: 24px;\n        }\n\n        .warning-bento ul {\n            margin: 10px 0 0 0;\n            padding-left: 20px;\n            color: #78350f;\n            font-size: 0.92rem;\n        }\n\n        \/* Glowing Action Button *\/\n        .btn-wrapper {\n            text-align: center;\n            margin-top: 40px;\n        }\n\n        .btn-modern {\n            position: relative;\n            display: inline-flex;\n            align-items: center;\n            gap: 12px;\n            padding: 16px 48px;\n            background: var(--primary);\n            color: #ffffff !important;\n            text-decoration: none;\n            border-radius: 100px;\n            font-weight: 600;\n            font-size: 1rem;\n            letter-spacing: 0.01em;\n            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n            box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.25);\n        }\n\n        .btn-modern:hover {\n            transform: translateY(-2px) scale(1.02);\n            box-shadow: 0 20px 35px -10px rgba(37, 99, 235, 0.4);\n            background: var(--brand-blue);\n        }\n\n        @media (max-width: 900px) {\n            .kpi-card { grid-column: span 6; }\n            .info-bento { grid-template-columns: 1fr; }\n        }\n\n        @media (max-width: 550px) {\n            .kpi-card { grid-column: span 12; }\n            .complaint-container { padding: 24px 16px; }\n            .header h1 { font-size: 1.6rem; }\n        }\n    <\/style>\n\n\n\n<div class=\"complaint-wrapper\">\n    <div class=\"complaint-container\">\n        <div class=\"header\">\n\n            <h1>\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e23\u0e31\u0e1a\u0e02\u0e49\u0e2d\u0e40\u0e2a\u0e19\u0e2d\u0e41\u0e19\u0e30\u0e41\u0e25\u0e30\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e23\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19<\/h1>\n            <p>\u0e04\u0e13\u0e30\u0e40\u0e01\u0e29\u0e15\u0e23\u0e28\u0e32\u0e2a\u0e15\u0e23\u0e4c \u0e21\u0e2b\u0e32\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22\u0e40\u0e17\u0e04\u0e42\u0e19\u0e42\u0e25\u0e22\u0e35\u0e23\u0e32\u0e0a\u0e21\u0e07\u0e04\u0e25\u0e28\u0e23\u0e35\u0e27\u0e34\u0e0a\u0e31\u0e22<\/p>\n        <\/div>\n\n        <!-- 2026 Bento Grid Dashboard -->\n        <div class=\"dashboard-bento\">\n            <!-- KPI 1 -->\n            <div class=\"bento-card kpi-card kpi-total\">\n                <div class=\"kpi-head\">\n                    <span class=\"kpi-title\">\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14<\/span>\n                    <div class=\"kpi-icon\"><i class=\"fas fa-layer-group\"><\/i><\/div>\n                <\/div>\n                <div class=\"kpi-value\" id=\"statTotal\">0<\/div>\n            <\/div>\n\n            <!-- KPI 2 -->\n            <div class=\"bento-card kpi-card kpi-complaint\">\n                <div class=\"kpi-head\">\n                    <span class=\"kpi-title\">\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e23\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19<\/span>\n                    <div class=\"kpi-icon\"><i class=\"fas fa-circle-exclamation\"><\/i><\/div>\n                <\/div>\n                <div class=\"kpi-value\" id=\"statComplaint\">0<\/div>\n            <\/div>\n\n            <!-- KPI 3 -->\n            <div class=\"bento-card kpi-card kpi-appeal\">\n                <div class=\"kpi-head\">\n                    <span class=\"kpi-title\">\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2d\u0e38\u0e17\u0e18\u0e23\u0e13\u0e4c<\/span>\n                    <div class=\"kpi-icon\"><i class=\"fas fa-scale-balanced\"><\/i><\/div>\n                <\/div>\n                <div class=\"kpi-value\" id=\"statAppeal\">0<\/div>\n            <\/div>\n\n            <!-- KPI 4 -->\n            <div class=\"bento-card kpi-card kpi-corruption\">\n                <div class=\"kpi-head\">\n                    <span class=\"kpi-title\">\u0e41\u0e08\u0e49\u0e07\u0e17\u0e38\u0e08\u0e23\u0e34\u0e15<\/span>\n                    <div class=\"kpi-icon\"><i class=\"fas fa-shield-halved\"><\/i><\/div>\n                <\/div>\n                <div class=\"kpi-value\" id=\"statCorruption\">0<\/div>\n            <\/div>\n\n            <!-- Category Breakdowns -->\n            <div class=\"bento-card cat-card\">\n                <div class=\"cat-header\">\n                    <i class=\"fas fa-chart-simple\" style=\"color: var(--brand-blue);\"><\/i>\n                    \u0e08\u0e33\u0e41\u0e19\u0e01\u0e15\u0e32\u0e21\u0e2b\u0e21\u0e27\u0e14\u0e2b\u0e21\u0e39\u0e48\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e23\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\n                <\/div>\n                <div id=\"categorySummary\" class=\"cat-grid\">\n                    <div style=\"grid-column: 1\/-1; text-align: center; color: var(--text-muted); padding: 20px;\">\n                        <i class=\"fas fa-circle-notch fa-spin\"><\/i> \u0e01\u0e33\u0e25\u0e31\u0e07\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e16\u0e34\u0e15\u0e34&#8230;\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Objective Section -->\n        <div class=\"section-heading\">\n            <i class=\"fas fa-bullseye\" style=\"color: var(--brand-blue);\"><\/i> \u0e27\u0e31\u0e15\u0e16\u0e38\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e07\u0e32\u0e19\n        <\/div>\n        <p style=\"color: var(--text-muted); margin-bottom: 30px; font-size: 0.95rem;\">\n            \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e1f\u0e31\u0e07\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e08\u0e32\u0e01\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32 \u0e1a\u0e38\u0e04\u0e25\u0e32\u0e01\u0e23 \u0e28\u0e34\u0e29\u0e22\u0e4c\u0e40\u0e01\u0e48\u0e32 \u0e41\u0e25\u0e30\u0e1a\u0e38\u0e04\u0e04\u0e25\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e19\u0e33\u0e44\u0e1b\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e41\u0e25\u0e30\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 \u0e15\u0e25\u0e2d\u0e14\u0e08\u0e19\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e02\u0e2d\u0e07\u0e04\u0e13\u0e30\u0e2f \u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1b\u0e15\u0e32\u0e21\u0e21\u0e32\u0e15\u0e23\u0e10\u0e32\u0e19\u0e2a\u0e32\u0e01\u0e25\n        <\/p>\n\n        <!-- Requirements Section -->\n        <div class=\"section-heading\">\n            <i class=\"fas fa-list-check\" style=\"color: var(--brand-blue);\"><\/i> \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e41\u0e08\u0e49\u0e07\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\n        <\/div>\n        <div class=\"info-bento\">\n            <div class=\"info-card\">\n                <div class=\"info-icon\"><i class=\"fas fa-id-card\"><\/i><\/div>\n                <div>\n                    <strong style=\"display:block; margin-bottom:4px;\">\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e1a\u0e38\u0e04\u0e04\u0e25<\/strong>\n                    <span style=\"font-size:0.88rem; color:var(--text-muted);\">\u0e0a\u0e37\u0e48\u0e2d-\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25, \u0e2d\u0e35\u0e40\u0e21\u0e25 \u0e41\u0e25\u0e30\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e44\u0e14\u0e49<\/span>\n                <\/div>\n            <\/div>\n            <div class=\"info-card\">\n                <div class=\"info-icon\"><i class=\"fas fa-clock-rotate-left\"><\/i><\/div>\n                <div>\n                    <strong style=\"display:block; margin-bottom:4px;\">\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c<\/strong>\n                    <span style=\"font-size:0.88rem; color:var(--text-muted);\">\u0e23\u0e30\u0e1a\u0e38\u0e27\u0e31\u0e19-\u0e40\u0e27\u0e25\u0e32 \u0e2a\u0e16\u0e32\u0e19\u0e17\u0e35\u0e48 \u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e40\u0e17\u0e47\u0e08\u0e08\u0e23\u0e34\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19<\/span>\n                <\/div>\n            <\/div>\n            <div class=\"info-card\">\n                <div class=\"info-icon\"><i class=\"fas fa-paperclip\"><\/i><\/div>\n                <div>\n                    <strong style=\"display:block; margin-bottom:4px;\">\u0e2b\u0e25\u0e31\u0e01\u0e10\u0e32\u0e19\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a<\/strong>\n                    <span style=\"font-size:0.88rem; color:var(--text-muted);\">\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e \u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 \u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07 (\u0e16\u0e49\u0e32\u0e21\u0e35)<\/span>\n                <\/div>\n            <\/div>\n            <div class=\"info-card\">\n                <div class=\"info-icon\"><i class=\"fas fa-user-lock\"><\/i><\/div>\n                <div>\n                    <strong style=\"display:block; margin-bottom:4px;\">\u0e21\u0e32\u0e15\u0e23\u0e01\u0e32\u0e23\u0e04\u0e38\u0e49\u0e21\u0e04\u0e23\u0e2d\u0e07<\/strong>\n                    <span style=\"font-size:0.88rem; color:var(--text-muted);\">\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e39\u0e49\u0e41\u0e08\u0e49\u0e07\u0e08\u0e30\u0e16\u0e39\u0e01\u0e1b\u0e01\u0e1b\u0e34\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e27\u0e32\u0e21\u0e25\u0e31\u0e1a\u0e17\u0e32\u0e07\u0e23\u0e32\u0e0a\u0e01\u0e32\u0e23\u0e02\u0e31\u0e49\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Warning Section -->\n        <div class=\"warning-bento\">\n            <div style=\"display:flex; align-items:center; gap:8px; font-weight:600; color:#92400e;\">\n                <i class=\"fas fa-triangle-exclamation\"><\/i> \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e23\u0e23\u0e30\u0e27\u0e31\u0e07\u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e15\u0e01\u0e25\u0e07\n            <\/div>\n            <ul>\n                <li>\u0e42\u0e1b\u0e23\u0e14\u0e43\u0e0a\u0e49\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e20\u0e32\u0e1e \u0e44\u0e21\u0e48\u0e1a\u0e34\u0e14\u0e40\u0e1a\u0e37\u0e2d\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e25\u0e48\u0e32\u0e27\u0e2b\u0e32\u0e1a\u0e38\u0e04\u0e04\u0e25\u0e2d\u0e37\u0e48\u0e19\u0e42\u0e14\u0e22\u0e1b\u0e23\u0e32\u0e28\u0e08\u0e32\u0e01\u0e2b\u0e25\u0e31\u0e01\u0e10\u0e32\u0e19<\/li>\n                <li><strong>\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e23\u0e23\u0e30\u0e27\u0e31\u0e07:<\/strong> \u0e01\u0e32\u0e23\u0e41\u0e08\u0e49\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e2d\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e17\u0e47\u0e08\u0e2d\u0e32\u0e08\u0e21\u0e35\u0e1c\u0e25\u0e1c\u0e39\u0e01\u0e1e\u0e31\u0e19\u0e17\u0e32\u0e07\u0e01\u0e0e\u0e2b\u0e21\u0e32\u0e22\u0e17\u0e31\u0e49\u0e07\u0e17\u0e32\u0e07\u0e41\u0e1e\u0e48\u0e07 \u0e17\u0e32\u0e07\u0e27\u0e34\u0e19\u0e31\u0e22 \u0e41\u0e25\u0e30\u0e17\u0e32\u0e07\u0e2d\u0e32\u0e0d\u0e32<\/li>\n                <li>\u0e01\u0e23\u0e13\u0e35\u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38\u0e15\u0e31\u0e27\u0e15\u0e19 \u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e21\u0e48\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e1e\u0e2d\u0e41\u0e01\u0e48\u0e01\u0e32\u0e23\u0e2a\u0e37\u0e1a\u0e2a\u0e27\u0e19 \u0e04\u0e13\u0e30\u0e2f \u0e02\u0e2d\u0e2a\u0e07\u0e27\u0e19\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e43\u0e19\u0e01\u0e32\u0e23\u0e22\u0e38\u0e15\u0e34\u0e01\u0e32\u0e23\u0e1e\u0e34\u0e08\u0e32\u0e23\u0e13\u0e32<\/li>\n            <\/ul>\n        <\/div>\n\n        <!-- Action Button -->\n        <div class=\"btn-wrapper\">\n            <a href=\"https:\/\/agr.rmutsv.ac.th\/ruts\/complaint-appeal\/\" class=\"btn-modern\">\n                <span>\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/span>\n                <i class=\"fas fa-arrow-right\"><\/i>\n            <\/a>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- \u0e2a\u0e04\u0e23\u0e34\u0e1b\u0e15\u0e4c\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d API \u0e41\u0e25\u0e30\u0e41\u0e2d\u0e19\u0e34\u0e40\u0e21\u0e0a\u0e31\u0e19\u0e19\u0e31\u0e1a\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02 -->\n<script>\n    const webAppUrl = \"https:\/\/script.google.com\/macros\/s\/AKfycbxarpARZKbcYP6zPYsw4z8qKPImcekWjM_T8gYTz0TYA54KPVswY5Ru6JErl8HccyYV\/exec\";\n\n    document.addEventListener('DOMContentLoaded', fetchSummaryData);\n\n    function fetchSummaryData() {\n        if (typeof google !== 'undefined' && google.script && google.script.run) {\n            google.script.run.withSuccessHandler(renderSummary).getSummaryData();\n            return;\n        }\n\n        if (!webAppUrl || webAppUrl.includes(\"YOUR_SCRIPT_ID_HERE\")) {\n            showError(\"\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Web App URL\");\n            return;\n        }\n\n        const timeout = setTimeout(() => showError(\"\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e40\u0e27\u0e25\u0e32\u0e19\u0e32\u0e19\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b\"), 8000);\n        const callbackName = 'jsonp_cb_' + Math.floor(Math.random() * 100000);\n        \n        window[callbackName] = function(data) {\n            clearTimeout(timeout);\n            renderSummary(data);\n            delete window[callbackName];\n            if (script && script.parentNode) script.parentNode.removeChild(script);\n        };\n\n        const script = document.createElement('script');\n        script.src = webAppUrl + \"?callback=\" + callbackName + \"&_t=\" + new Date().getTime();\n        script.onerror = () => {\n            clearTimeout(timeout);\n            showError(\"\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e14\u0e36\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e16\u0e34\u0e15\u0e34\u0e44\u0e14\u0e49\");\n            if (script && script.parentNode) script.parentNode.removeChild(script);\n        };\n\n        document.body.appendChild(script);\n    }\n\n    function showError(msg) {\n        const catContainer = document.getElementById('categorySummary');\n        if (catContainer) {\n            catContainer.innerHTML = `<div style=\"grid-column: 1\/-1; text-align: center; color: var(--brand-rose); padding: 15px; font-size: 0.9rem;\">${msg}<\/div>`;\n        }\n    }\n\n    \/\/ Cubic Easing Animation \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e27\u0e34\u0e48\u0e07\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e43\u0e2b\u0e49\u0e19\u0e38\u0e48\u0e21\u0e19\u0e27\u0e25\n    function animateValue(id, start, end, duration) {\n        const obj = document.getElementById(id);\n        if (!obj) return;\n        let startTimestamp = null;\n        const step = (timestamp) => {\n            if (!startTimestamp) startTimestamp = timestamp;\n            const progress = Math.min((timestamp - startTimestamp) \/ duration, 1);\n            const easeOutProgress = 1 - Math.pow(1 - progress, 3); \/\/ Ease-Out Curve\n            obj.innerText = Math.floor(easeOutProgress * (end - start) + start);\n            if (progress < 1) window.requestAnimationFrame(step);\n        };\n        window.requestAnimationFrame(step);\n    }\n\n    function renderSummary(data) {\n        if (!data) return;\n\n        animateValue('statTotal', 0, data.total || 0, 1200);\n        animateValue('statComplaint', 0, data.complaintCount || 0, 1200);\n        animateValue('statAppeal', 0, data.appealCount || 0, 1200);\n        animateValue('statCorruption', 0, data.corruptionCount || 0, 1200);\n\n        const catContainer = document.getElementById('categorySummary');\n        if (!catContainer) return;\n        catContainer.innerHTML = '';\n\n        const categories = data.categories || {};\n        const catKeys = Object.keys(categories);\n\n        if (catKeys.length === 0) {\n            catContainer.innerHTML = '<div style=\"grid-column: 1\/-1; text-align: center; color: var(--text-muted); padding: 15px;\">\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a<\/div>';\n            return;\n        }\n\n        catKeys.forEach(cat => {\n            const count = categories[cat];\n            const div = document.createElement('div');\n            div.className = 'cat-pill';\n            div.innerHTML = `\n                <span class=\"cat-name\">${cat}<\/span>\n                <span class=\"cat-count\">${count}<\/span>\n            `;\n            catContainer.appendChild(div);\n        });\n    }\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u0e02\u0e49\u0e2d\u0e41\u0e19\u0e30\u0e19\u0e33\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e41\u0e08\u0e49\u0e07\u0e02\u0e49\u0e2d\u0e40\u0e2a\u0e19\u0e2d\u0e41\u0e19\u0e30\/\u0e23\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19 \u0e28\u0e39\u0e19\u0e22\u0e4c\u0e23\u0e31\u0e1a [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-20210","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/pages\/20210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/comments?post=20210"}],"version-history":[{"count":27,"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/pages\/20210\/revisions"}],"predecessor-version":[{"id":23145,"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/pages\/20210\/revisions\/23145"}],"wp:attachment":[{"href":"https:\/\/agr.rmutsv.ac.th\/ruts\/wp-json\/wp\/v2\/media?parent=20210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}