/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.payment-card{margin:24px}.payment-steps .step:last-child span{background:var(--blue);color:#fff}.link-button{text-decoration:none;display:inline-block}.primary:disabled,.secondary:disabled{cursor:wait;opacity:.65}.field textarea{color:#17233b;resize:vertical;background:#fff;border:1.5px solid #cbd5e1;border-radius:11px;outline:none;width:100%;padding:14px 15px;line-height:1.55}.field textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 4px #2563eb1a}.field.optional>span{font-weight:700}.field.optional>span:after{content:""}.logo-mark{overflow:hidden;background:#fff!important;border:0!important;border-radius:16px!important;width:180px!important;height:74px!important;padding:8px 10px!important;box-shadow:0 8px 24px #0d265b33!important}.logo-mark img{object-fit:contain;width:100%;height:100%;display:block}.hero h1{margin:0 0 5px!important}@media (width<=640px){.logo-mark{border-radius:12px!important;width:128px!important;height:58px!important;padding:6px 8px!important}.hero{gap:12px!important}.hero h1{font-size:15px!important}}:root{--blue:#1d4ed8;--blue2:#2563eb;--navy:#0b2d5c;--ink:#17233b;--muted:#6b7280;--line:#d9e1ed;--sky:#eaf5ff}*{box-sizing:border-box}html{background:#eef3fb}body{color:var(--ink);margin:0;font-family:Arial,Noto Sans Thai,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.page-shell{background:radial-gradient(circle at 50% -10%,#dcecff 0,#0000 32%),#f3f6fb;min-height:100vh;padding:32px 16px 24px}.form-wrap{background:#fff;border-radius:26px;width:min(860px,100%);margin:auto;overflow:hidden;box-shadow:0 18px 60px #1937641f}.hero{color:#fff;background:linear-gradient(125deg,#153f92,#2563eb 65%,#3894ff);align-items:center;gap:22px;padding:34px 42px;display:flex}.logo-mark{border:3px solid #ffffffbf;border-radius:22px;flex:none;place-items:center;width:72px;height:72px;font-size:42px;font-weight:900;display:grid;box-shadow:inset 0 0 0 6px #ffffff1f}.eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.9;font-size:13px;font-weight:800}.hero h1{margin:6px 0 3px;font-size:23px;line-height:1.4}.hero p{letter-spacing:.25em;color:#bfe1ff;margin:0;font-weight:900}.steps{background:#fff;border-bottom:1px solid #e6ebf2;grid-template-columns:repeat(3,1fr);padding:24px 44px;display:grid}.step{color:#9aa2b1;justify-content:center;align-items:center;gap:9px;font-size:14px;display:flex;position:relative}.step:not(:last-child):after{content:"";background:#dfe4eb;width:40%;height:2px;position:absolute;right:-20%}.step span{color:#717782;background:#e5e7eb;border-radius:50%;place-items:center;width:33px;height:33px;font-weight:800;display:grid}.step.active{color:var(--blue)}.step.active span{background:var(--blue);color:#fff;box-shadow:0 5px 14px #2563eb42}form,.review,.success{padding:24px}.card{border:1px solid var(--line);background:#fff;border-radius:18px}.form-section{margin-bottom:18px;padding:25px 28px}.section-title{border-bottom:1px solid #e1e6ee;align-items:center;gap:11px;margin-bottom:22px;padding-bottom:15px;display:flex}.section-title span{width:28px;height:28px;color:var(--blue);background:#e8f0ff;border-radius:8px;place-items:center;font-weight:900;display:grid}.section-title h2{margin:0;font-size:20px}.grid.two{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{margin-bottom:18px;display:block}.field>span{color:#334155;margin-bottom:8px;font-size:14px;font-weight:700;display:block}.field i{color:#ef4444;font-style:normal}.field input,.field select{color:#17233b;background:#fff;border:1.5px solid #cbd5e1;border-radius:11px;outline:none;width:100%;height:52px;padding:0 15px;transition:all .2s}.field input:focus,.field select:focus{border-color:var(--blue2);box-shadow:0 0 0 4px #2563eb1a}.has-error input,.has-error select{border-color:#ef4444}.error{color:#dc2626;margin-top:6px;font-size:12px;display:block}.subject-error{margin:10px 0 0}.info{background:var(--sky);color:#1976a9;border-radius:10px;padding:13px 16px;font-size:13px}.helper{color:var(--muted);margin:-10px 0 15px;font-size:13px}.subject-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.subject{text-align:left;border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:13px;align-items:center;gap:13px;padding:17px;display:flex;position:relative}.subject.selected{border-color:var(--blue2);background:#f2f7ff;box-shadow:0 0 0 3px #2563eb13}.subject-icon{width:44px;height:44px;color:var(--blue);background:#e7efff;border-radius:12px;place-items:center;font-size:24px;font-weight:900;display:grid}.subject b,.subject small{display:block}.subject small{color:var(--muted);margin-top:3px}.subject i{color:#788292;background:#e9edf4;border-radius:50%;place-items:center;width:24px;height:24px;margin-left:auto;font-style:normal;font-weight:800;display:grid}.subject.selected i{background:var(--blue);color:#fff}.actions{gap:12px;margin-top:22px;display:flex}.actions.end{justify-content:flex-end}.actions.split{justify-content:space-between}.primary,.secondary{border:0;border-radius:11px;padding:14px 24px;font-weight:800}.primary{color:#fff;background:linear-gradient(135deg,var(--blue),#3b82f6);box-shadow:0 8px 20px #2563eb3d}.secondary{color:#334155;background:#eef2f7}.review.card,.success.card{margin:24px}.review-head{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:8px 4px 22px;display:flex}.review-head>span{color:#168a4c;background:#e6f7ed;border-radius:14px;place-items:center;width:45px;height:45px;font-size:24px;font-weight:900;display:grid}.review h2,.review p{margin:0}.review h2{font-size:22px}.review p{color:var(--muted);margin-top:4px;font-size:13px}.review-group{padding:20px 4px 8px}.review-group h3{color:var(--blue);margin:0 0 12px;font-size:16px}.review-row{border-bottom:1px dashed #e0e6ef;grid-template-columns:180px 1fr;padding:10px 0;font-size:14px;display:grid}.review-row span{color:var(--muted)}.review-row b{font-weight:700}.confirm-note{color:#946600;background:#fff7dd;border-radius:10px;margin-top:18px;padding:13px;font-size:13px}.success{text-align:center;padding:54px 34px!important}.success-icon{color:#16a34a;background:#dcfce7;border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto 17px;font-size:42px;font-weight:900;display:grid;box-shadow:0 0 0 12px #f0fdf4}.success h2{color:var(--navy);margin:8px 0;font-size:32px}.success>p:not(.eyebrow){color:var(--muted);line-height:1.7}.ticket{background:#f5f9ff;border:1px solid #cdddf4;border-radius:16px;width:min(430px,100%);margin:26px auto;padding:22px}.ticket span,.ticket strong,.ticket small{display:block}.ticket strong{color:var(--blue);letter-spacing:.05em;margin:8px;font-size:25px}.ticket small{color:var(--muted)}.summary-line{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:25px;font-size:14px;display:flex}.summary-line b{color:var(--blue)}footer{text-align:center;color:#768297;padding:28px 12px;font-size:12px}@media (width<=640px){.page-shell{padding:0 0 18px}.form-wrap{border-radius:0}.hero{gap:15px;padding:25px 20px}.logo-mark{border-radius:16px;width:55px;height:55px;font-size:30px}.hero h1{font-size:17px}.desktop{display:none}.steps{padding:18px 8px}.step{text-align:center;font-size:11px;display:block}.step span{margin:0 auto 6px}.step:not(:last-child):after{width:50%;top:16px;right:-25%}.form-section{padding:21px 17px}.grid.two,.subject-grid{grid-template-columns:1fr;gap:0}.subject-grid{gap:11px}.actions.split{flex-direction:column-reverse}.actions button{width:100%}.review.card,.success.card{margin:16px}.review-row{grid-template-columns:1fr;gap:4px}.success{padding:42px 20px!important}.success h2{font-size:27px}}.slip-panel{border:1px solid var(--line);text-align:left;background:#fbfdff;border-radius:16px;width:min(520px,100%);margin:8px auto 24px;padding:20px}.slip-heading{align-items:center;gap:12px;margin-bottom:16px;display:flex}.slip-heading>span{width:38px;height:38px;color:var(--blue);background:#e7efff;border-radius:10px;place-items:center;font-weight:900;display:grid}.slip-heading h3,.slip-heading p{margin:0}.slip-heading h3{font-size:17px}.slip-heading p{color:var(--muted);margin-top:3px;font-size:12px}.dropzone{text-align:center;cursor:pointer;background:#f5f9ff;border:2px dashed #aabbd3;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:190px;padding:22px;display:flex;overflow:hidden}.dropzone:hover{border-color:var(--blue2);background:#eff6ff}.dropzone input{opacity:0;pointer-events:none;position:absolute}.upload-icon{width:52px;height:52px;color:var(--blue);background:#dceaff;border-radius:50%;place-items:center;font-size:28px;font-weight:900;display:grid}.dropzone small{color:var(--muted)}.dropzone.has-preview{background:#eef4fb;padding:10px}.dropzone img{object-fit:contain;border-radius:9px;max-width:100%;max-height:330px;display:block}.change-file{color:var(--blue);background:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800;box-shadow:0 3px 12px #1e3a5f22}.upload-button{width:100%;margin-top:14px}.upload-button:disabled{cursor:wait;opacity:.65}.upload-error{text-align:center}.upload-done{text-align:center;background:#f0fdf4;border-radius:13px;padding:30px 12px}.upload-done>span{color:#fff;background:#22c55e;border-radius:50%;place-items:center;width:56px;height:56px;margin:auto;font-size:30px;font-weight:900;display:grid}.upload-done h3{color:#166534;margin:13px 0 5px}.upload-done p{color:#4b7259;margin:0;font-size:13px}@media (width<=640px){.slip-panel{padding:15px}.dropzone{min-height:170px}.slip-heading{text-align:left}}.admin-shell{color:#17233b;background:#eef3fb;min-height:100vh;padding:34px}.login-shell{place-items:center;display:grid}.admin-login-card{text-align:center;background:#fff;border-radius:24px;width:min(440px,100%);padding:40px;box-shadow:0 20px 70px #0f2d5f29}.admin-lock{color:#fff;background:linear-gradient(135deg,#183f91,#347df0);border-radius:20px;place-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:28px;display:grid}.admin-eyebrow{color:#2563eb;letter-spacing:.14em;margin:0;font-size:12px;font-weight:900}.admin-login-card h1{color:#0b2d5c;margin:8px 0;font-size:26px}.admin-login-card>p:not(.admin-eyebrow){color:#6b7280;margin:0 0 24px}.admin-login-card form{text-align:left;padding:0}.admin-login-card label,.admin-tools label{font-size:13px;font-weight:800;display:block}.admin-login-card input,.admin-tools input,.admin-tools select{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;width:100%;height:48px;margin-top:8px;padding:0 14px}.admin-login-card input:focus,.admin-tools input:focus,.admin-tools select:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb19}.admin-primary{color:#fff;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:0;border-radius:10px;min-height:48px;padding:0 22px;font-weight:900}.admin-login-card .admin-primary{width:100%;margin-top:15px}.admin-primary:disabled{opacity:.65}.admin-error{color:#dc2626;margin-top:10px;font-size:13px}.admin-login-card>a{color:#2563eb;margin-top:20px;font-size:13px;font-weight:800;text-decoration:none;display:inline-block}.admin-header{color:#fff;background:linear-gradient(125deg,#102f6b,#1d4ed8 65%,#378af7);border-radius:22px;justify-content:space-between;align-items:center;gap:20px;width:min(1280px,100%);margin:0 auto 22px;padding:28px 32px;display:flex;box-shadow:0 15px 40px #17449133}.admin-header .admin-eyebrow{color:#c8ddff}.admin-header h1{margin:5px 0;font-size:28px}.admin-header p:last-child{color:#dceafe;margin:0}.admin-logout{color:#fff;background:#ffffff1f;border:1px solid #fff6;border-radius:10px;padding:11px 16px;font-weight:800}.admin-stats{grid-template-columns:repeat(3,1fr);gap:15px;width:min(1280px,100%);margin:0 auto 22px;display:grid}.admin-stats article{background:#fff;border:1px solid #dce4f1;border-radius:16px;padding:20px 22px;box-shadow:0 7px 24px #1f395f0f}.admin-stats span,.admin-stats strong{display:block}.admin-stats span{color:#64748b;font-size:13px;font-weight:700}.admin-stats strong{color:#153f92;margin-top:8px;font-size:30px}.admin-panel{background:#fff;border:1px solid #dce4f1;border-radius:20px;width:min(1280px,100%);margin:auto;padding:23px;box-shadow:0 9px 32px #1f395f12}.admin-tools{border-bottom:1px solid #e4e9f1;grid-template-columns:minmax(280px,1fr) 190px auto;align-items:end;gap:14px;padding:0 0 20px;display:grid}.admin-tools .admin-primary{height:48px}.admin-result-head{color:#64748b;justify-content:space-between;padding:18px 2px 12px;font-size:13px;display:flex}.admin-result-head b{color:#334155}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{color:#526176;text-align:left;white-space:nowrap;background:#f5f8fc;padding:12px 10px}.admin-table td{vertical-align:top;border-bottom:1px solid #e6ebf2;padding:15px 10px}.admin-table td b,.admin-table td small{display:block}.admin-table td small{color:#738096;margin-top:5px;line-height:1.4}.admin-table td small.grade{color:#1d4ed8;background:#eaf2ff;border-radius:999px;width:max-content;padding:4px 8px;font-weight:900}.admin-status{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-block}.admin-status.awaiting_payment{color:#946200;background:#fff4d6}.admin-status.payment_submitted{color:#16753c;background:#dcfce7}.admin-detail-button{color:#1d4ed8;background:#eaf2ff;border:0;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:900}.admin-mobile-detail{z-index:2;background:#fff;border:1px solid #d8e1ef;border-radius:12px;width:300px;margin-top:8px;padding:14px;position:absolute;right:24px;box-shadow:0 12px 32px #1e375a2e}.admin-mobile-detail p{margin:6px 0;line-height:1.5}.admin-empty{text-align:center;color:#7b8798;padding:60px 15px}.admin-pagination{justify-content:flex-end;gap:9px;padding-top:18px;display:flex}.admin-pagination button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:9px 14px;font-weight:800}.admin-pagination button:disabled{opacity:.4}.admin-shell>footer{padding-bottom:0}@media (width<=760px){.admin-shell{padding:0 0 20px}.admin-header{border-radius:0;padding:24px 18px}.admin-header h1{font-size:22px}.admin-header p:last-child{font-size:12px}.admin-logout{padding:9px 11px;font-size:12px}.admin-stats{gap:8px;padding:0 14px}.admin-stats article{padding:14px 12px}.admin-stats span{font-size:11px}.admin-stats strong{font-size:23px}.admin-panel{width:calc(100% - 28px);padding:15px}.admin-tools{grid-template-columns:1fr}.admin-tools .admin-primary{width:100%}.admin-result-head{padding-top:16px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table tr{border:1px solid #dae2ee;border-radius:14px;margin-bottom:13px;padding:13px}.admin-table td{border:0;grid-template-columns:115px 1fr;gap:8px;padding:8px 0;display:grid}.admin-table td:before{content:attr(data-label);color:#7b8798;font-size:12px;font-weight:800}.admin-table td:last-child{display:block}.admin-detail-button{width:100%;margin-top:4px}.admin-mobile-detail{width:100%;box-shadow:none;margin-top:10px;position:static}.admin-pagination{justify-content:space-between}.login-shell{padding:20px}.admin-login-card{padding:32px 22px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
