
:root{--navy:#081d3b;--navy2:#122e52;--gold:#c8ab73;--ink:#172b46;--muted:#6d7888;--line:#dde3eb;--paper:#f4f6f9;--green:#187359;--red:#ac3543;--amber:#9a661d;font-family:Arial,'Tahoma',sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #c8ab73;outline-offset:4px}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1px}h2{font-size:24px}h3{font-size:17px}p{line-height:1.65}small,.small{font-size:13px}svg.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:5px;background:var(--navy);color:white;border:1px solid var(--navy);font-size:14px;font-weight:600;min-height:44px;transition:.2s}.btn:hover{background:#25476f;transform:translateY(-1px)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.light{background:white;color:var(--ink);border-color:var(--line)}.btn.danger{background:var(--red);border-color:var(--red)}.btn.text{background:transparent;color:inherit;border-color:transparent}.row{display:flex;align-items:center;gap:14px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:4px;font-size:12px;font-weight:600;background:#edf1f7;color:#435872;white-space:nowrap}.pill.approved,.pill.unused,.pill.valid{background:#e4f3ec;color:var(--green)}.pill.pending{background:#fff1d8;color:var(--amber)}.pill.rejected,.pill.failed,.pill.used,.pill.cancelled{background:#fae9ec;color:var(--red)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:56px;height:66px;object-fit:contain}.brand-label{font-family:Georgia,serif;font-size:15px;letter-spacing:1.5px;line-height:1.55}.brand-label small{display:block;font:11px Arial;letter-spacing:3px;margin-top:3px}.lang{border:1px solid #8190a64d;border-radius:4px;padding:6px;display:flex;gap:3px}.lang button{padding:6px 10px;font-size:13px;border-radius:2px}.lang button.active{background:var(--gold);color:var(--navy)}.public{background:var(--navy);color:#fff;min-height:100vh}.public-header{padding:27px 5vw;border-bottom:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-nav{display:flex;gap:30px;font-size:14px;align-items:center}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;min-height:650px;padding:75px 7vw 65px;gap:70px;align-items:center}.hero h1{font:clamp(64px,8vw,112px)/.98 Georgia,serif;letter-spacing:-3px;margin:35px 0 30px}.hero h1 em{font-weight:400;color:var(--gold)}.hero-copy{max-width:410px;color:#b8c5d8;font-size:16px}.hero .eyebrow{color:var(--gold)}.rule{height:1px;background:var(--gold);width:70px;margin:28px 0}.invitation{border:1px solid #c8ab7370;padding:14px;position:relative;transform:rotate(2deg);background:#0b2243;box-shadow:0 25px 60px #0004}.invitation-inner{border:1px solid #c8ab733d;text-align:center;padding:36px 20px}.invitation .brand{justify-content:center}.invitation .brand-label{font-size:12px}.invitation h2{font:44px Georgia;margin:35px 0 15px}.invitation .detail{padding:19px 0;border-top:1px solid #ffffff1a}.detail span{display:block;font-size:12px;color:#adbcd0;margin-bottom:8px}.detail strong{font-weight:400;font-size:16px}.event-info{background:#fff;color:var(--ink);padding:65px 7vw}.event-info h2{font:36px Georgia}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.steps .number{font:30px Georgia;color:#aa8a51;padding-bottom:16px;display:block}.steps p{font-size:14px;color:var(--muted)}footer{padding:25px 5vw;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;font-size:12px;border-top:1px solid #ffffff20;color:#b8c5d8}.footer-links{display:flex;gap:24px}.powered img{max-width:100px;max-height:30px}.demo-note{font-size:12px;text-align:center;padding:9px 15px;background:#e9edf3;color:#586a81}.reg-main{max-width:1100px;margin:auto;padding:65px 5vw 90px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.reg-main h1{font:58px Georgia}.reg-main .card{color:var(--ink)}.list-line{padding:17px 0;border-bottom:1px solid #ffffff26;font-size:14px;color:#b8c5d8}.shell{display:grid;grid-template-columns:242px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#b4c0d0;padding:30px 19px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:242px;z-index:10}.wordmark{color:#fff;font-size:24px;letter-spacing:-1px;font-weight:700}.wordmark small{display:block;color:#a7b6c9;font-size:11px;letter-spacing:2px;font-weight:400;margin-top:7px}.side-event{padding:24px 10px;margin:24px 0;border-block:1px solid #ffffff18;line-height:1.6;font-size:13px;color:white}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:12px;border-radius:5px;display:flex;align-items:center;gap:12px;font-size:14px}.sidebar nav a.active{background:#ffffff13;color:#fff;border-left:2px solid var(--gold)}.sidebar nav a:hover{background:#ffffff10}.side-bottom{margin-top:auto;padding-top:26px}.workspace{grid-column:2;min-width:0}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:16px}.content{padding:34px 36px;max-width:1600px;margin:auto}.page-head{margin-bottom:28px}.page-head h1{margin:8px 0}.page-head p{margin-bottom:0;font-size:14px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stat{padding:23px}.stat .value{font-size:36px;letter-spacing:-1.3px;margin:16px 0 8px;display:block}.stat label{font-size:13px;color:var(--muted)}.stat svg{color:#7488a2}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.section-head h2{font-size:18px;margin:0}.progress{height:7px;background:#edf0f5;border-radius:10px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;background:var(--gold);border-radius:10px}.category-line{padding:15px 0;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:14px}th{background:#f7f8fa;color:var(--muted);font-size:12px;font-weight:500;padding:13px 16px;border-bottom:1px solid var(--line)}td{padding:17px 16px;border-bottom:1px solid #edf0f4}td small{display:block;color:var(--muted);margin-top:6px}.table-card{padding:0;overflow:hidden}.table-card .toolbar{padding:20px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar input{min-width:180px;flex:1}.pagination{padding:16px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.field{display:grid;gap:8px;font-size:14px}.field input,.field select,.field textarea,input.search,select.filter{width:100%;border:1px solid #cfd7e2;border-radius:4px;padding:12px;background:#fff;color:var(--ink);min-height:44px}.field textarea{resize:vertical;min-height:85px}.field input:focus,.field select:focus,input.search:focus{outline:2px solid #bdcde4;border-color:#6d89b0}.field .error{color:var(--red);font-size:12px;min-height:14px}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6}.check input{margin-top:5px;width:17px;height:17px;flex-shrink:0;accent-color:var(--navy)}.notice{padding:15px 17px;border-left:3px solid var(--gold);background:#faf5e9;color:#7e632f;font-size:13px;line-height:1.7}.notice.info{background:#edf3fa;color:#476183;border-color:#6e8eb5}.notice.error{background:#fae9ec;color:var(--red);border-color:var(--red)}dialog{border:0;border-radius:10px;padding:0;width:min(760px,calc(100% - 28px));max-height:90vh;color:var(--ink);box-shadow:0 30px 120px #0005}dialog::backdrop{background:#04142ab5;backdrop-filter:blur(4px)}.modal-head{padding:22px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{margin:0;font-size:23px}.modal-body{padding:26px 28px}.modal-actions{padding:20px 28px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:0;background:#fff;flex-wrap:wrap}.attendee{padding:22px 0;border-bottom:1px solid var(--line)}.attendee:first-child{padding-top:0}.attendee .grid2{gap:8px 18px}.attendee-head{margin-bottom:20px}.attendee-head h3{margin:0}.close{font-size:25px;min-width:40px;min-height:40px}.success{text-align:center;padding:12px 10px 25px}.result-icon{width:68px;height:68px;background:#e4f3ec;color:var(--green);display:grid;place-items:center;border-radius:50%;margin:10px auto 24px}.result-icon svg{width:32px;height:32px}.result-icon.bad{background:#fae9ec;color:var(--red)}.reference{font-size:26px;font-family:monospace;padding:22px;border:1px dashed #bcc9da;background:#f7f9fc;margin:24px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#173450;color:#fff;box-shadow:0 10px 35px #0003;padding:16px 24px;border-radius:7px;z-index:100;max-width:90vw;font-size:14px}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;background:white}.login-art{background:var(--navy);color:white;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between}.login-art h1{font:68px Georgia;max-width:500px;line-height:1.08}.login-art p{color:#b8c5d8;max-width:400px}.login-form{display:grid;align-content:center;padding:60px 18%;gap:24px}.login-form h2{font-size:30px;margin-bottom:8px}.scan-header{background:var(--navy);color:white;padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:15px}.scanner-layout{max-width:1150px;margin:auto;padding:35px 25px;display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.camera{background:#0a1b32;min-height:330px;border-radius:7px;display:grid;place-items:center;position:relative;overflow:hidden;margin:20px 0}.camera-target{border:2px solid var(--gold);border-radius:18px;width:220px;height:220px;display:grid;place-items:center;color:#a1b3cc;box-shadow:0 0 0 100px #020c1b55}.camera-target svg{width:60px;height:60px}.scanline{height:2px;background:var(--gold);position:absolute;width:215px;top:25%;animation:scan 3s ease-in-out infinite;box-shadow:0 0 15px var(--gold)}@keyframes scan{50%{top:75%}}.demo-controls{display:flex;gap:8px;flex-wrap:wrap}.demo-controls .btn{font-size:12px;padding:9px 12px}.scan-log{padding:18px 0;border-bottom:1px solid var(--line)}.email-preview{max-width:500px;margin:auto;border:1px solid var(--line)}.email-header{background:var(--navy);color:white;padding:25px;text-align:center}.email-content{padding:25px}.qr{display:block;width:172px;height:172px;margin:20px auto;background:#fff}.mobile-menu{display:none}.hidden{display:none!important}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.hero{gap:35px;padding-inline:5vw}.content{padding:25px}.topbar{padding-inline:25px}}@media(max-width:760px){.public-nav>a{display:none}.brand-label{font-size:12px}.brand img{width:42px;height:50px}.hero{grid-template-columns:1fr;padding:45px 25px;gap:45px}.hero h1{font-size:74px}.invitation{transform:none;max-width:460px;width:100%;margin:auto}.steps{grid-template-columns:1fr;gap:20px}.reg-main{grid-template-columns:1fr;gap:25px;padding:35px 25px}.reg-main h1{font-size:45px}.shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none;box-shadow:0 0 0 100vw #0007}.workspace{width:100%}.mobile-menu{display:block}.topbar{padding:0 16px;height:72px}.topbar .event-title{display:none}.content{padding:25px 15px}.page-head{align-items:flex-start}.page-head h1{font-size:28px}.stats{gap:10px}.stat{padding:18px}.stat .value{font-size:30px}.grid2{grid-template-columns:1fr}.modal-head,.modal-body,.modal-actions{padding:18px}.login{grid-template-columns:1fr}.login-art{padding:35px;min-height:270px}.login-art h1{font-size:42px;margin:30px 0 15px}.login-art>p{display:none}.login-form{padding:35px 25px}.scanner-layout{grid-template-columns:1fr;padding:25px 15px}.scan-header{padding:20px}.scan-header .wordmark{font-size:19px}.scan-header .row{gap:6px}.public-header{padding:20px}.card{padding:20px}.table-card{padding:0}footer{padding:24px}.modal-actions .btn{flex:1}.page-head>.btn{padding:11px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

html[lang="th"] .hero h1{font-size:clamp(48px,6vw,82px);line-height:1.25;letter-spacing:0}html[lang="th"] .reg-main h1,html[lang="th"] .login-art h1{font-size:48px;line-height:1.3}h1,h2,p{overflow-wrap:break-word}.qr svg{width:100%;height:100%}.field input:invalid:not(:placeholder-shown){box-shadow:none}
