:root{--primary-sky:#0284c7;--primary-sky-hover:#0369a1;--primary-sky-light:#e0f2fe;--primary-sky-alpha:#0284c71a;--primary-red:#be123c;--primary-red-hover:#9f1239;--primary-red-light:#ffe4e6;--primary-red-alpha:#be123c1a;--bg-main:#f8fafc;--bg-white:#fff;--bg-dark:#0f172a;--bg-slate-light:#f1f5f9;--text-main:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--text-white:#fff;--border-color:#e2e8f0;--border-focus:#38bdf8;--bg-glass:#ffffffd9;--bg-glass-dark:#0f172ad9;--border-glass:#fff6;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 12px 32px #0284c714;--shadow-lg:0 24px 48px #0f172a1f;--shadow-inset:inset 0 2px 4px #0000000f;--font-heading:"Manrope", "IBM Plex Sans Thai", "Leelawadee UI", system-ui, sans-serif;--font-body:"IBM Plex Sans Thai", "Leelawadee UI", system-ui, sans-serif;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;font-family:var(--font-body);margin:0;padding:0}body{background:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--bg-dark);letter-spacing:-.025em;font-weight:700;line-height:1.25}a{color:inherit;transition:var(--transition-fast);text-decoration:none}button,input,textarea,select{outline:none;font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-slate-light)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-sky)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}.section-padding{padding:80px 0}.text-center{text-align:center}.flex-center{justify-content:center;align-items:center;display:flex}.bg-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass)}.text-gradient-sky{background:linear-gradient(135deg, var(--primary-sky) 0%, #0369a1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-red{background:linear-gradient(135deg, var(--primary-red) 0%, #9f1239 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-normal);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:500;display:inline-flex}.btn-sky{background:linear-gradient(135deg, var(--primary-sky) 0%, #0284c7 100%);color:var(--text-white);box-shadow:0 4px 16px #0284c740}.btn-sky:hover{background:linear-gradient(135deg, var(--primary-sky-hover) 0%, #0369a1 100%);transform:translateY(-2px);box-shadow:0 8px 24px #0284c759}.btn-red{background:linear-gradient(135deg, var(--primary-red) 0%, #be123c 100%);color:var(--text-white);box-shadow:0 4px 16px #be123c40}.btn-red:hover{background:linear-gradient(135deg, var(--primary-red-hover) 0%, #9f1239 100%);transform:translateY(-2px);box-shadow:0 8px 24px #be123c59}.btn-outline-sky{color:var(--primary-sky);border:2px solid var(--primary-sky);background:0 0}.btn-outline-sky:hover{background:var(--primary-sky-alpha);transform:translateY(-2px)}.btn-outline-red{color:var(--primary-red);border:2px solid var(--primary-red);background:0 0}.btn-outline-red:hover{background:var(--primary-red-alpha);transform:translateY(-2px)}.btn-secondary{background:var(--bg-slate-light);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color);transform:translateY(-2px)}.form-group{margin-bottom:20px}.form-label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.form-control{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-white);width:100%;color:var(--text-main);transition:var(--transition-fast);padding:12px 18px;font-size:.95rem}.form-control:focus{border-color:var(--primary-sky);box-shadow:0 0 0 4px var(--primary-sky-alpha)}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.section-header{text-align:center;margin-bottom:50px}.section-tag{background:var(--primary-sky-alpha);color:var(--primary-sky);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-block}.section-title{margin-bottom:16px;font-size:2.25rem;position:relative}.section-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.05rem}.badge{border-radius:var(--radius-full);text-transform:uppercase;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-block}.badge-pending{color:#d97706;background:#fef3c7}.badge-approved{color:#059669;background:#d1fae5}.badge-rejected{color:#dc2626;background:#fee2e2}.grid-2{grid-template-columns:repeat(2,1fr);gap:30px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:30px;display:grid}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.container{padding:0 16px}.section-padding{padding:52px 0}.section-header{margin-bottom:30px}.section-tag{letter-spacing:.4px;padding:5px 12px;font-size:.72rem}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr;gap:18px}.section-title{font-size:clamp(1.45rem,7vw,1.8rem);line-height:1.28}.section-subtitle{font-size:.95rem}.btn{border-radius:14px;width:100%;min-height:44px;padding:11px 18px}table{min-width:640px}body{padding-bottom:64px}}@media (width<=420px){.container{padding:0 14px}.section-padding{padding:44px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.tm-wrap{padding:4px}.tm-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.tm-toolbar h2{margin:0;font-size:1.45rem}.tm-toolbar p{color:#64748b;margin:4px 0 0}.tm-toolbar>div:last-child{gap:8px;display:flex}.tm-btn{cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-weight:700;display:inline-flex}.tm-btn.primary{color:#fff;background:#0b3b66}.tm-btn.ghost{color:#334155;background:#fff;border:1px solid #dbe3ed}.tm-alert{color:#991b1b;background:#fee2e2;border-radius:9px;margin-bottom:15px;padding:12px}.tm-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.tm-stats>div{background:#fff;border:1px solid #e5eaf0;border-radius:13px;align-items:center;gap:12px;padding:16px;display:flex}.tm-stats svg{color:#0284c7}.tm-stats span{color:#64748b;font-size:.78rem}.tm-stats b{color:#172033;margin-top:2px;font-size:1.5rem;display:block}.tm-tabs{gap:6px;margin:22px 0 12px;display:flex}.tm-tabs button{color:#64748b;background:#e9eef5;border:0;border-radius:9px;padding:10px 16px;font-weight:700}.tm-tabs button.active{color:#fff;background:#0b3b66}.tm-panel{background:#fff;border:1px solid #e5eaf0;border-radius:13px;overflow:hidden}.tm-filters{border-bottom:1px solid #e5eaf0;grid-template-columns:2fr 1.3fr 1fr auto;gap:8px;padding:14px;display:grid}.tm-filters label{border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.tm-filters input{border:0;outline:0;width:100%;min-width:0;padding:10px 0}.tm-filters select,.tm-form select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px}.tm-course-context{color:#1d4ed8;background:#eff6ff;padding:9px 14px;font-size:.84rem}.tm-table-scroll{overflow:auto}table{border-collapse:collapse;width:100%}.tm-wrap th,.tm-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #edf1f5;padding:12px 14px;font-size:.84rem}.tm-wrap th{color:#64748b;background:#f8fafc;font-size:.74rem}.tm-wrap td small{color:#64748b;margin-top:4px;display:block}.tm-status{color:#475569;background:#e2e8f0;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800;display:inline-block}.tm-status.approved,.tm-status.completed,.tm-status.open{color:#166534;background:#dcfce7}.tm-status.pending{color:#92400e;background:#fef3c7}.tm-status.waitlisted{color:#7e22ce;background:#f3e8ff}.tm-status.rejected,.tm-status.cancelled{color:#991b1b;background:#fee2e2}.tm-icon{cursor:pointer;color:#334155;background:#eef2f7;border:0;border-radius:8px;place-items:center;width:33px;height:33px;display:grid}.tm-course-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tm-course-grid article{background:#fff;border:1px solid #e5eaf0;border-radius:13px;padding:17px;position:relative}.tm-course-head{justify-content:space-between;display:flex}.tm-course-head>span{border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900}.tm-course-head .upskill{color:#0369a1;background:#e0f2fe}.tm-course-head .reskill{color:#7e22ce;background:#f3e8ff}.tm-course-grid code{color:#64748b;font-size:.7rem}.tm-course-grid h3{margin:8px 0;font-size:1rem}.tm-course-grid p{color:#64748b;font-size:.82rem;line-height:1.65}.tm-course-bottom{border-top:1px solid #edf1f5;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.tm-draft{color:#b45309;margin-top:10px;display:block}.tm-modal-bg{z-index:3000;background:#071426bb;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.tm-modal{background:#fff;border-radius:16px;width:min(500px,100%);max-height:calc(100vh - 36px);padding:25px;position:relative;overflow:auto}.tm-modal.wide{width:min(820px,100%)}.tm-modal h3{margin:0 35px 18px 0}.tm-close{background:#eef2f7;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:13px;right:13px}.tm-form{gap:12px;display:grid}.tm-form.grid{grid-template-columns:repeat(2,1fr)}.tm-form label{color:#334155;gap:5px;font-size:.78rem;font-weight:700;display:grid}.tm-form input,.tm-form textarea{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:9px}.tm-form .full{grid-column:1/-1}.tm-check{align-items:center;grid-template-columns:auto 1fr!important;display:flex!important}.tm-check input{width:16px}.tm-person{background:#f8fafc;border-radius:10px;gap:4px;margin-bottom:14px;padding:13px;display:grid}.tm-person span{color:#64748b;font-size:.8rem}@media (width<=1000px){.tm-stats,.tm-course-grid{grid-template-columns:repeat(2,1fr)}.tm-filters{grid-template-columns:1fr 1fr}}@media (width<=650px){.tm-toolbar{flex-direction:column;align-items:flex-start}.tm-toolbar>div:last-child{width:100%}.tm-toolbar .tm-btn{flex:1}.tm-stats,.tm-course-grid,.tm-form.grid,.tm-filters{grid-template-columns:1fr}.tm-form .full{grid-column:auto}.tm-wrap th,.tm-wrap td{white-space:nowrap}.tm-modal{padding:22px 16px}}.tm-course-cover{object-fit:cover;border-radius:13px 13px 0 0;width:calc(100% + 34px);height:150px;margin:-17px -17px 14px}.tm-course-head>div{gap:5px;display:flex}.tm-course-head a.tm-icon{display:grid}.tm-course-flags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tm-course-flags small{color:#92400e;background:#fef3c7;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;display:flex}.tm-course-flags small.released{color:#166534;background:#dcfce7}.tm-cert-link{color:#0369a1;white-space:normal;align-items:center;gap:4px;max-width:170px;font-size:.72rem;font-weight:700;display:flex}.tm-image-field{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.tm-form-section{background:#f8fafc;border:1px solid #dbe5ef;border-radius:12px;padding:14px}.tm-form-section h4{color:#0b3b66;align-items:center;gap:7px;margin:0 0 12px;display:flex}.tm-certificate-fields{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px;display:grid}.tm-certificate-fields .full{grid-column:1/-1}.tm-issued-cert{color:#1d4ed8;background:#eff6ff;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.tm-issued-cert span,.tm-issued-cert b{display:block}.tm-issued-cert span{font-size:.72rem}.tm-issued-cert b{margin-top:2px;font-size:.85rem}@media (width<=650px){.tm-certificate-fields{grid-template-columns:1fr}.tm-certificate-fields .full{grid-column:auto}.tm-course-cover{height:180px}}.tm-audience-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;display:grid}.tm-audience-stats>div{background:#fff;border:1px solid #e5eaf0;border-radius:12px;align-items:center;gap:10px;padding:12px 15px;display:flex}.tm-audience-stats svg{color:#0284c7;width:20px}.tm-audience-stats span{color:#64748b;font-size:.75rem}.tm-audience-stats b{color:#172033;font-size:1.25rem;display:block}.tm-filters{grid-template-columns:2fr 1.3fr 1fr 1fr auto}.tm-participant,.tm-course-audiences span{border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:800;display:inline-flex}.tm-participant.student,.tm-course-audiences .student{color:#0369a1;background:#e0f2fe}.tm-participant.staff,.tm-course-audiences .staff{color:#6d28d9;background:#ede9fe}.tm-participant.public,.tm-course-audiences .public{color:#15803d;background:#dcfce7}.tm-course-audiences{flex-wrap:wrap;gap:5px;margin:0 0 12px;display:flex}.tm-audience-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tm-audience-picker label{cursor:pointer;display:block}.tm-audience-picker input{opacity:0;pointer-events:none;position:absolute}.tm-audience-picker span{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:60px;display:flex}.tm-audience-picker svg{width:19px}.tm-audience-picker input:checked+span{color:#075985;background:#e0f2fe;border-color:#0284c7;box-shadow:0 0 0 2px #0ea5e91f}.tm-validation{color:#b91c1c;margin-top:8px;display:block}@media (width<=1000px){.tm-audience-stats{grid-template-columns:repeat(3,1fr)}.tm-filters{grid-template-columns:1fr 1fr}}@media (width<=650px){.tm-audience-stats,.tm-audience-picker,.tm-filters{grid-template-columns:1fr}}.tm-payment-summary{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px;display:grid}.tm-payment-summary>div{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;align-items:center;gap:10px;padding:12px 15px;display:flex}.tm-payment-summary svg{color:#d97706}.tm-payment-summary span{color:#92400e;font-size:.75rem}.tm-payment-summary b{color:#78350f;font-size:1.25rem;display:block}.tm-payment-status{color:#475569;background:#e2e8f0;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:900;display:inline-block}.tm-payment-status.pending_verification{color:#7e22ce;background:#f3e8ff}.tm-payment-status.verified{color:#166534;background:#dcfce7}.tm-payment-status.awaiting_slip{color:#92400e;background:#fef3c7}.tm-payment-status.rejected{color:#991b1b;background:#fee2e2}.tm-course-price{color:#b45309;background:#fffbeb;border-radius:8px;align-items:center;gap:6px;margin-bottom:10px;padding:8px 10px;font-size:.8rem;font-weight:900;display:flex}.tm-course-price svg{width:17px}.tm-payment-fields{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.tm-payment-fields .full{grid-column:1/-1}.tm-payment-fields small{color:#64748b;font-weight:500}.tm-payment-review{background:#fffbeb;border:1px solid #fde68a;border-radius:11px;gap:9px;margin-bottom:14px;padding:13px;display:grid}.tm-payment-review>div:first-child{align-items:center;gap:9px;display:flex}.tm-payment-review>div:first-child>svg{color:#d97706}.tm-payment-review>div:first-child>span:nth-child(2){color:#92400e;flex:1;font-size:.73rem;display:grid}.tm-payment-review>div:first-child b{font-size:1rem}.tm-payment-review>a{color:#92400e;background:#fff;border:1px solid #f59e0b;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:.8rem;font-weight:800;display:flex}.tm-payment-review>a svg{width:16px}.tm-payment-review p,.tm-payment-review small{color:#92400e;margin:0;font-size:.76rem}.tm-payment-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid!important}.tm-payment-actions button{border:0;border-radius:8px;padding:9px;font-weight:800}.tm-payment-actions button:first-child{color:#991b1b;background:#fee2e2}.tm-payment-actions button:last-child{color:#fff;background:#166534}@media (width<=650px){.tm-payment-summary,.tm-payment-fields{grid-template-columns:1fr}.tm-payment-fields .full{grid-column:auto}}
