[hidden]{display:none!important}

/* Layout: white brand bar over a full-bleed key visual; event card beside the title on navy; content on ice-blue bands; staff back office as a two-column console. One committed look (brand navy + light), no theme flip. */
:root{
  --night:#020A24; --navy:#001A55; --navy-2:#0B2470; --royal:#1F4FE0; --royal-2:#1640C2; --teal:#00A3BB; --teal-2:#0B8296; --halo:#9CD3FF;
  --ice:#F3F7FD; --ice-2:#E7EEFA; --paper:#FFFFFF; --ink:#0A1638; --ink-2:#26355E; --muted:#53618A; --line:#D8E2F2; --line-2:#C2D0EA;
  --d-text:#E8EEFB; --d-muted:#A9B8E0; --d-line:rgba(156,211,255,.18); --d-line-2:rgba(156,211,255,.34);
  --note-bg:#FFF6DC; --note-line:#E6CB7C; --note-ink:#5E4300;
  --ok:#0E7A55; --ok-bg:#E1F4EB; --warn:#8A5A00; --warn-bg:#FFF1D6; --err:#B3261E; --err-bg:#FCEAE9;
  --f:"Anuphan","Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:10px; --r-lg:16px;
  --shadow:0 1px 2px rgba(2,10,36,.06),0 14px 34px rgba(2,10,36,.09);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--ice);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
:root[data-lang="th"] body [lang="en"]{display:none!important}
:root[data-lang="en"] body [lang="th"]{display:none!important}
img{max-width:100%;display:block}
a{color:var(--royal-2);text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--f);font-weight:600;line-height:1.3;margin:0;text-wrap:balance;color:inherit}
h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.01em}
h3{font-size:20px}
p{margin:0}
button{font-family:var(--f)}
:focus-visible{outline:3px solid var(--royal);outline-offset:2px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:700px){.wrap{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}}
.lede{font-size:19px;color:var(--ink-2);max-width:64ch}
.hint{font-size:14px;color:var(--muted)}
.tba{display:inline-block;padding:1px 10px;border-radius:999px;background:var(--note-bg);color:var(--note-ink);border:1px dashed var(--note-line);font-size:.86em;font-weight:500;white-space:nowrap}

/* mockup bar */
.mockbar{background:var(--navy);color:var(--d-text);font-size:14px}
.mockbar .wrap{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;padding-block:7px}
.mockbar b{color:#fff;font-weight:600}
.mockbar a{color:var(--halo);font-weight:600}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 22px;border-radius:999px;border:1.5px solid transparent;font:600 16px/1.2 var(--f);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn-primary{background:var(--royal);color:#fff}
.btn-primary:hover{background:var(--royal-2)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2)}
.btn-ghost{background:transparent;color:#fff;border-color:var(--d-line-2)}
.btn-ghost:hover{border-color:var(--halo)}
.btn-line{background:var(--paper);color:var(--ink);border-color:var(--line-2)}
.btn-line:hover{border-color:var(--ink)}
.btn-soft{background:var(--ice-2);color:var(--ink)}
.btn-soft:hover{background:#D9E4F7}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-2)}
.btn-sm{min-height:38px;padding:7px 15px;font-size:15px}
.btn-xs{min-height:32px;padding:4px 12px;font-size:14px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(2,10,36,.02)}
.bar{display:flex;align-items:center;gap:14px;min-height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto;min-width:0}
.brand .seal{width:44px;height:44px;flex:none}
.brand .lock{height:46px;width:auto}
.brand .sep{width:1px;height:36px;background:var(--line);flex:none}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
nav.main a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-weight:500;font-size:15.5px;white-space:nowrap}
nav.main a:hover{background:var(--ice)}
nav.main a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -2.5px 0 var(--royal);border-radius:8px 8px 0 0}
.lang-btn{min-width:46px;min-height:38px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);font:600 14px var(--f);cursor:pointer;padding:0 12px}
.lang-btn:hover{border-color:var(--ink)}
.menu-btn{display:none;width:44px;height:44px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.menu-btn svg{width:22px;height:22px}
@media (max-width:1180px){
  .menu-btn{display:inline-flex}
  .bar .reg-cta{display:none}
  nav.main{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;padding:8px max(16px,env(safe-area-inset-right,0px)) 18px max(16px,env(safe-area-inset-left,0px))}
  nav.main a{padding:13px 10px;font-size:17px;border-bottom:1px solid var(--line);border-radius:0}
  nav.main a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--royal)}
  nav.main li.m-reg a{border:0;margin-top:12px;background:var(--royal);color:#fff;border-radius:999px;text-align:center}
}
@media (min-width:1181px){nav.main li.m-reg{display:none}}
@media (max-width:520px){.brand .seal,.brand .sep{display:none}.brand .lock{height:40px}}

main{display:block;min-height:60vh}
.sec{padding-block:76px}
@media (max-width:700px){.sec{padding-block:54px}}
.sec-white{background:var(--paper)}
.sec-head{display:grid;gap:12px;margin-bottom:34px;max-width:780px}
.pagehead{padding-block:52px 28px;display:grid;gap:14px;max-width:860px}
.pagehead h1{font-size:clamp(30px,3.6vw,44px);letter-spacing:-.01em;color:var(--navy)}
.crumb{font-size:14.5px;color:var(--muted);font-weight:500}
.crumb a{color:var(--muted)}
.dark{background:var(--night);color:var(--d-text)}
.dark h2,.dark h3{color:#fff}
.dark .lede{color:var(--d-muted)}

/* HERO */
.hero{background:var(--night);color:#fff;overflow:hidden}
.hero-kv{position:relative;max-width:1680px;margin:0 auto}
.hero-kv img{width:100%;height:auto;aspect-ratio:1983/793;object-fit:cover}
.hero-kv::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(180deg,rgba(2,10,36,0),var(--night))}
.hero-kv::before,.hero-kv .r{content:"";position:absolute;top:0;bottom:0;width:7%;z-index:1}
.hero-kv::before{left:0;background:linear-gradient(90deg,var(--night),rgba(2,10,36,0))}
.hero-kv .r{right:0;background:linear-gradient(270deg,var(--night),rgba(2,10,36,0))}
.hero-body{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:44px;align-items:end;padding-block:4px 72px;z-index:2}
.hero-t{display:grid;gap:16px;min-width:0}
.hero-t .th-line{font-size:clamp(20px,2.2vw,26px);font-weight:500;color:var(--halo)}
.hero-t h1{font-size:clamp(32px,4.2vw,56px);font-weight:600;line-height:1.08;letter-spacing:.005em;color:#fff}
.hero-t h1 .s{display:block;font-weight:300;letter-spacing:.2em;text-transform:uppercase;font-size:.46em;color:var(--d-muted);margin-bottom:10px}
.hero-t .theme{font-size:18px;color:#D3DDF7;max-width:50ch;line-height:1.55}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero-card{border:1px solid var(--d-line-2);border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(11,36,112,.62),rgba(0,26,85,.62));padding:24px;display:grid;gap:18px;min-width:0}
.hero-card dl{margin:0;display:grid;gap:14px}
.hero-card dl div{display:grid;gap:2px}
.hero-card dt{font-size:14px;color:var(--d-muted)}
.hero-card dd{margin:0;font-size:19px;font-weight:600;line-height:1.4;color:#fff}
.hero-card dd small{display:block;font-size:15px;font-weight:400;color:#D3DDF7}
.cd{display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--d-line)}
.cd .cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cd .cells div{background:rgba(2,10,36,.55);border:1px solid var(--d-line);border-radius:12px;padding:10px 6px;text-align:center;display:grid}
.cd .cells b{font-size:34px;font-weight:600;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.cd .cells span{font-size:13px;color:var(--d-muted)}
.cd .lbl{font-size:14px;color:var(--d-muted)}
@media (max-width:900px){.hero-body{grid-template-columns:1fr;gap:26px;padding-bottom:54px}}

/* day themes */
.days2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:860px){.days2{grid-template-columns:1fr}}
.dayp{border:1px solid var(--d-line);border-radius:var(--r-lg);padding:28px;display:grid;gap:16px;align-content:start;background:var(--navy)}
.dayp .when{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.dayp .when b{font-size:34px;font-weight:600;line-height:1;color:#fff}
.dayp .when span{color:var(--halo);font-weight:500}
.dayp h3{font-size:22px;line-height:1.35}
.dayp ul{list-style:none;margin:0;padding:0}
.dayp li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid var(--d-line);font-size:15.5px;color:#D3DDF7}
.dayp li time{color:var(--d-muted);font-variant-numeric:tabular-nums}

/* zones */
.zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:860px){.zones{grid-template-columns:1fr}}
.zone{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0}
.zone figure{margin:0;aspect-ratio:16/9;background:var(--ice-2);overflow:hidden;max-width:100%}
.zone figure img{width:100%;height:100%;object-fit:cover}
.zone .tx{padding:22px 24px 26px;display:grid;gap:8px;align-content:start}
.zone .tx p{color:var(--ink-2)}
.stat{font-weight:600;color:var(--teal-2);font-size:15.5px}
.render-note{margin-top:14px;font-size:14px;color:var(--muted)}

/* about */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:start}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:24px}}
.about-grid .body{display:grid;gap:16px;min-width:0}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
@media (max-width:1000px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pillars{grid-template-columns:1fr}}
.pillar{border-top:3px solid var(--royal);padding-top:14px;display:grid;gap:6px;align-content:start}
.pillar:nth-child(2){border-color:var(--teal)}.pillar:nth-child(3){border-color:var(--navy)}.pillar:nth-child(4){border-color:var(--halo)}
.pillar p{color:var(--ink-2);font-size:15.5px}
.chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chip{padding:6px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:15px}

/* speakers */
.spk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.spk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.spk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media (max-width:420px){.spk-grid{grid-template-columns:1fr}}
.spk{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:grid;gap:10px;align-content:start;min-width:0}
.mono{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:20px;color:#fff;background:radial-gradient(circle at 30% 25%,#4A86FF,var(--navy) 75%);box-shadow:0 0 0 3px var(--ice-2);flex:none}
.spk h3{font-size:18px;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.spk .aff{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.spk .role{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;line-height:1.5}
.spk.feature{grid-column:span 2;grid-template-columns:auto minmax(0,1fr);gap:16px 20px;background:var(--navy);border-color:var(--navy);color:#fff}
.spk.feature h3{color:#fff;font-size:22px}
.spk.feature .aff{color:#D3DDF7}
.spk.feature .role{color:var(--halo);border-color:var(--d-line);grid-column:1/-1}
.spk.feature .mono{width:72px;height:72px;font-size:24px;box-shadow:0 0 0 3px rgba(156,211,255,.35)}
.spk.feature.wide{grid-column:1/-1}
.spk.more{background:transparent;border-style:dashed;align-content:center;text-align:center}
@media (max-width:760px){.spk.feature{grid-column:1/-1}}

/* agenda */
.prog-note{color:var(--muted);font-size:15px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:calc(env(safe-area-inset-top,0px) + 74px);z-index:5;background:var(--ice);padding-block:12px;border-bottom:1px solid var(--line)}
.tab{appearance:none;border:1.5px solid var(--line-2);background:var(--paper);border-radius:999px;padding:9px 18px;font:600 15.5px var(--f);color:var(--ink-2);cursor:pointer;display:flex;gap:8px;align-items:baseline}
.tab small{font-weight:400;color:var(--muted);font-size:14px}
.tab[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.tab[aria-selected="true"] small{color:var(--halo)}
.day-theme{margin:26px 0 6px;padding:18px 20px;border-radius:var(--r);background:var(--navy);color:#fff;display:grid;gap:2px}
.day-theme span{font-size:14px;color:var(--halo)}
.day-theme strong{font-size:19px;font-weight:600;line-height:1.4}
.sessions{list-style:none;margin:0;padding:0}
.sess{display:grid;grid-template-columns:136px minmax(0,1fr) 160px;gap:6px 26px;padding:22px 4px;border-bottom:1px solid var(--line);align-items:start}
.sess time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2);font-size:15.5px;padding-top:2px}
.sess .c{display:grid;gap:8px;min-width:0}
.sess .c .lab{font-size:14px;font-weight:600;color:var(--royal-2)}
.sess .c strong{font-size:18.5px;font-weight:600;line-height:1.45}
.sess .who{font-size:15px;color:var(--ink-2);display:grid;gap:3px}
.sess .who em{font-style:normal;color:var(--muted)}
.sess .topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.sess .topics span{font-size:13.5px;padding:2px 10px;border-radius:999px;background:var(--ice-2);color:var(--ink-2)}
.sess .k{justify-self:end;font-size:13.5px;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ice-2);color:var(--ink-2);white-space:nowrap}
.sess.key .k{background:var(--navy);color:#fff}
.sess.panel .k{background:#E5F5F8;color:var(--teal-2)}
.sess.cer .k{background:var(--ok-bg);color:var(--ok)}
.sess.quiet{padding-block:12px}
.sess.quiet .c strong{font-weight:400;color:var(--muted);font-size:16px}
.sess.quiet .k{background:transparent;border:1px solid var(--line);color:var(--muted)}
.sub-slots{display:grid;gap:4px;margin-top:2px}
.sub-slots div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;font-size:15px;color:var(--ink-2)}
.sub-slots time{font-variant-numeric:tabular-nums;color:var(--muted)}
@media (max-width:760px){.sess{grid-template-columns:1fr;gap:6px}.sess .k{justify-self:start;order:-1}.sess time{order:-2}.sub-slots div{grid-template-columns:1fr;gap:0}}

/* forms */
.preview-note{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;padding:16px 18px;border-radius:var(--r);background:var(--note-bg);border:1px solid var(--note-line);color:var(--ink)}
.preview-note svg{width:24px;height:24px;color:var(--note-ink);margin-top:2px}
.preview-note strong{display:block}
.preview-note .act{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}
.layout2{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;padding-bottom:76px}
@media (max-width:1000px){.layout2{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);min-width:0}
.fsec{padding:26px 26px 4px;display:grid;gap:20px}
.fsec + .fsec{border-top:1px solid var(--line);margin-top:20px}
@media (max-width:520px){.fsec{padding:20px 16px 4px}}
.fsec h3{font-size:21px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.fgrid .full{grid-column:1/-1}
@media (max-width:600px){.fgrid{grid-template-columns:1fr}}
.field{display:grid;gap:6px;min-width:0;border:0;margin:0;padding:0}
.field > label,.legend{font-weight:600;font-size:15.5px;padding:0}
.req{color:var(--err)}
input[type=text],input[type=email],input[type=tel],input[type=search],select,textarea{width:100%;font:16px var(--f);color:var(--ink);background:var(--ice);border:1.5px solid var(--line-2);border-radius:var(--r);padding:11px 13px;min-height:48px}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 3px rgba(31,79,224,.18)}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--err)}
.err{color:var(--err);font-size:14px}
.err:empty{display:none}
.choices{display:grid;gap:10px}
.choices.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.choices.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.choices.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:640px){.choices.c2,.choices.c3{grid-template-columns:1fr}.choices.c5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.choice{position:relative;display:grid;gap:2px;padding:14px 14px 14px 46px;border:1.5px solid var(--line-2);border-radius:var(--r);cursor:pointer;background:var(--ice);line-height:1.45}
.choice input{position:absolute;left:16px;top:17px;width:19px;height:19px;margin:0;accent-color:var(--royal)}
.choice b{font-weight:600}
.choice span{font-size:14px;color:var(--muted)}
.choice:has(input:checked){border-color:var(--royal);background:#E8EFFF}
.rate{position:relative;display:grid;place-items:center;padding:10px 4px;border:1.5px solid var(--line-2);border-radius:var(--r);cursor:pointer;background:var(--ice);font-weight:600}
.rate input{position:absolute;opacity:0;inset:0;cursor:pointer}
.rate small{font-weight:400;font-size:12.5px;color:var(--muted)}
.rate:has(input:checked){border-color:var(--royal);background:var(--royal);color:#fff}
.rate:has(input:checked) small{color:#DCE6FF}
.rate:has(input:focus-visible){outline:3px solid var(--royal);outline-offset:2px}
.check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:14px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--ice);cursor:pointer;line-height:1.5}
.check input{width:19px;height:19px;margin:3px 0 0;accent-color:var(--royal)}
.check small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:22px 26px 26px;border-top:1px solid var(--line);margin-top:22px}
@media (max-width:520px){.actions{padding:16px}}
.aside{display:grid;gap:16px}
.aside .box{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:grid;gap:10px}
.aside .box h3{font-size:19px}
.aside ul{margin:0;padding-left:20px;display:grid;gap:6px;font-size:15.5px;color:var(--ink-2)}

/* e-ticket + email */
.ticket-wrap{padding:26px;display:grid;gap:20px}
@media (max-width:520px){.ticket-wrap{padding:18px 14px}}
.ticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 230px;border-radius:20px;overflow:hidden;background:var(--night);color:#fff;box-shadow:var(--shadow)}
.ticket .main{padding:26px 26px 24px;display:grid;gap:16px;background:radial-gradient(120% 140% at 0% 0%,#163B9E 0%,var(--night) 62%)}
.ticket .tb{display:flex;align-items:flex-start;gap:12px}
.ticket .tb span{display:flex;flex-direction:column;line-height:1.2;font-size:14px;color:var(--d-muted)}
.ticket .tb b{color:#fff;font-size:15.5px;font-weight:600}
.ticket .tb .sample{margin-left:auto;flex:none;font-size:12.5px;font-weight:700;letter-spacing:.18em;color:#FFE08A;border:1.5px solid #FFE08A;border-radius:6px;padding:2px 8px;line-height:1.4}
.ticket .nm{font-size:26px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.ticket .org{color:#D3DDF7;font-size:15.5px;margin-top:2px;overflow-wrap:anywhere}
.ticket .meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:14px;border-top:1px dashed var(--d-line-2);margin:0}
.ticket .meta div{display:grid}
.ticket .meta dt{font-size:13px;color:var(--d-muted)}
.ticket .meta dd{margin:0;font-weight:600;font-size:15.5px}
.ticket .stub{background:var(--paper);color:var(--ink);padding:20px;display:grid;gap:10px;justify-items:center;align-content:center;border-left:2px dashed var(--line-2)}
.ticket .qr{width:170px;height:170px}
.qr svg{width:100%;height:100%;display:block}
.ticket .code{font-weight:700;letter-spacing:.06em;font-size:17px;font-variant-numeric:tabular-nums}
@media (max-width:640px){.ticket{grid-template-columns:1fr}.ticket .stub{border-left:0;border-top:2px dashed var(--line-2)}}
.mail{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}
.mail-h{padding:12px 16px;border-bottom:1px solid var(--line);display:grid;gap:3px;font-size:14px;background:var(--ice)}
.mail-h div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px}
.mail-h span:first-child{color:var(--muted)}
.mail-h span:last-child{overflow-wrap:anywhere}
.mail-b{padding:16px;display:grid;gap:8px;font-size:15.5px}

/* booking */
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:860px){.svc{grid-template-columns:1fr}}
.svc-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0}
.svc-card figure{margin:0;aspect-ratio:16/8;overflow:hidden;background:var(--ice-2);max-width:100%}
.svc-card figure img{width:100%;height:100%;object-fit:cover}
.svc-card .tx{padding:24px;display:grid;gap:12px;align-content:start}
.svc-card ul{margin:0;padding-left:20px;display:grid;gap:5px;color:var(--ink-2);font-size:15.5px}
.seg{display:inline-flex;border:1.5px solid var(--line-2);border-radius:999px;padding:3px;background:var(--paper);gap:2px;flex-wrap:wrap}
.seg button{appearance:none;border:0;background:transparent;border-radius:999px;padding:8px 16px;font:600 15px var(--f);color:var(--ink-2);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.slot{appearance:none;border:1.5px solid var(--line-2);background:var(--paper);border-radius:var(--r);padding:10px 8px;font:600 15.5px var(--f);color:var(--ink);cursor:pointer;display:grid;text-align:center;font-variant-numeric:tabular-nums}
.slot small{font-weight:400;font-size:13px;color:var(--muted)}
.slot:hover{border-color:var(--royal)}
.slot[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.slot[aria-pressed="true"] small{color:var(--halo)}
.slot:disabled{background:#EEF1F7;color:#9AA5C2;cursor:not-allowed;border-color:#E1E6F1;text-decoration:line-through}
.okbox{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px;border-radius:var(--r);background:var(--ok-bg)}
.okbox .ic{width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--ok);display:grid;place-items:center;font-weight:700;font-size:20px}

/* expo / venue */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.gallery figure{margin:0;border-radius:var(--r-lg);overflow:hidden;position:relative;background:var(--ice-2);min-width:0}
.gallery figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
.gallery figure.big{grid-row:span 2}
.gallery figure.big img{aspect-ratio:auto;height:100%}
.gallery figcaption{position:absolute;left:10px;bottom:10px;background:rgba(2,10,36,.78);color:#fff;font-size:13.5px;padding:3px 10px;border-radius:999px}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr}.gallery figure.big{grid-column:1/-1;grid-row:auto}.gallery figure.big img{aspect-ratio:16/9}}
.booths{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:860px){.booths{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.booths{grid-template-columns:repeat(2,minmax(0,1fr))}}
.booth{border:1.5px dashed var(--line-2);border-radius:var(--r);background:var(--paper);padding:14px;display:grid;gap:2px;min-height:96px;align-content:center;text-align:center}
.booth b{font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}
.booth span{font-size:13.5px;color:var(--muted)}
.venue{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:34px;align-items:start}
@media (max-width:900px){.venue{grid-template-columns:1fr}}
.mapcard{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--navy);color:#fff;display:grid;min-width:0}
.mapcard img{width:100%;aspect-ratio:16/9;object-fit:cover;max-width:100%}
.mapcard .tx{padding:18px 20px;display:grid;gap:10px}
.mapcard .tx p{color:#D3DDF7;font-size:15.5px}
.info-list{display:grid;margin:0}
.info-list div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.info-list dt{color:var(--muted);font-size:15px}
.info-list dd{margin:0;font-weight:500}
@media (max-width:520px){.info-list div{grid-template-columns:1fr;gap:2px}}
.route{list-style:none;margin:0;padding:0;display:grid;counter-reset:r}
.route li{counter-increment:r;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.route li::before{content:counter(r);width:30px;height:30px;border-radius:50%;background:var(--ice-2);color:var(--royal-2);display:grid;place-items:center;font-weight:700;font-size:15px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:800px){.two{grid-template-columns:1fr}}
.panel-box{padding:24px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--paper);display:grid;gap:10px;align-content:start;min-width:0}
.dl-list{list-style:none;margin:0;padding:0;display:grid}
.dl-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.dl-list li:first-child{border-top:0}
.dl-list .ft{font-size:13px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 8px;margin-right:10px}
.doc{max-width:780px;display:grid;gap:12px;padding-bottom:76px}
.doc h2{font-size:24px;margin-top:18px;color:var(--navy)}
.doc ul{margin:0;padding-left:22px;display:grid;gap:6px}
.copyrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.copyrow code{font:600 16px var(--f);background:var(--ice-2);padding:4px 12px;border-radius:8px;user-select:all}

/* band */
.band{background:var(--navy);color:#fff;border-radius:22px;padding:40px;display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:24px;align-items:center;position:relative;overflow:hidden}
.band::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(0,163,187,.45),rgba(0,163,187,0) 70%);pointer-events:none}
.band h2{color:#fff}
.band p{color:#D3DDF7;margin-top:8px}
@media (max-width:760px){.band{grid-template-columns:1fr;padding:28px}}

/* footer */
footer.site{background:var(--night);color:var(--d-muted);padding-block:50px 30px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
@media (max-width:900px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .cols{grid-template-columns:1fr}}
footer h4{color:#fff;font-size:16px;font-weight:600;margin-bottom:8px}
footer a{color:#fff}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
footer .fb{display:flex;gap:12px;align-items:center}
footer .fb img{width:52px;height:52px}
footer .fb b{color:#fff;font-size:17px;font-weight:600;line-height:1.3}
footer .base{border-top:1px solid var(--d-line);margin-top:32px;padding-top:18px;font-size:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* dialogs & toast */
.dlg{position:fixed;inset:0;z-index:80;background:rgba(2,10,36,.55);display:grid;place-items:center;padding:16px}
.dlg-box{background:var(--paper);border-radius:var(--r-lg);max-width:560px;width:100%;max-height:calc(100vh - 32px);overflow:auto;padding:24px;display:grid;gap:14px;box-shadow:var(--shadow)}
.dlg-box .row{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:90;background:var(--navy);color:#fff;padding:12px 20px;border-radius:999px;font-size:15.5px;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}

/* ===== staff back office ===== */
.staff-top{background:var(--navy);color:#fff}
.staff-top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-block:14px}
.staff-top b{font-size:18px}
.staff-top .who{font-size:14.5px;color:var(--d-muted);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.signin{max-width:480px;margin:40px auto 80px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:28px;display:grid;gap:16px;box-shadow:var(--shadow)}
.adm{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start;padding-block:24px 76px}
@media (max-width:960px){.adm{grid-template-columns:1fr}}
.adm-nav{display:grid;gap:4px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 90px)}
@media (max-width:960px){.adm-nav{position:static;display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}}
.adm-nav button{appearance:none;border:1px solid transparent;background:none;text-align:left;padding:11px 14px;border-radius:12px;font:600 15.5px var(--f);color:var(--muted);cursor:pointer;white-space:nowrap;display:flex;justify-content:space-between;align-items:center;gap:10px}
.adm-nav button:hover{color:var(--ink)}
.adm-nav button[aria-selected="true"]{background:var(--paper);border-color:var(--line);color:var(--navy);box-shadow:var(--shadow)}
.adm-nav .cnt{font-size:12.5px;background:var(--ice-2);color:var(--royal-2);padding:0 8px;border-radius:999px;font-variant-numeric:tabular-nums}
.adm-body > section{display:grid;gap:16px;min-width:0}
.adm-h{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}
.adm-h h2{font-size:28px;color:var(--navy)}
.sample-tag{font-size:13px;font-weight:600;color:var(--note-ink);background:var(--note-bg);border:1px dashed var(--note-line);border-radius:999px;padding:2px 10px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:2px;align-content:start;min-width:0}
.kpi strong{font-size:32px;font-weight:600;line-height:1.15;color:var(--navy);font-variant-numeric:tabular-nums}
.kpi span{font-size:14px;color:var(--muted)}
.kpi small{font-size:13px;color:var(--teal-2);font-weight:600}
.kpi.live{background:var(--navy);border-color:var(--navy)}
.kpi.live strong{color:#fff}.kpi.live span{color:var(--d-muted)}.kpi.live small{color:var(--halo)}
.pbox{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:12px;min-width:0;align-content:start}
.pbox h3{font-size:18px}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:760px){.split{grid-template-columns:1fr}}
.hbar{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:14.5px}
.hbar .track{height:12px;border-radius:999px;background:var(--ice-2);overflow:hidden}
.hbar .fill{display:block;height:100%;border-radius:999px;background:var(--royal)}
.hbar .fill.t{background:var(--teal)}.hbar .fill.n{background:var(--navy)}
.hbar b{font-weight:600;font-size:14px;text-align:right;font-variant-numeric:tabular-nums}
.cols-chart{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;align-items:end;height:160px;padding-top:8px;border-bottom:1px solid var(--line)}
.cols-chart div{display:grid;align-content:end;justify-items:center;gap:4px;height:100%}
.cols-chart i{display:block;width:100%;max-width:34px;border-radius:6px 6px 0 0;background:var(--royal)}
.cols-chart b{font-size:12.5px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}
.cols-x{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;font-size:12.5px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.toolbar input,.toolbar select{width:auto;min-width:0;flex:1 1 170px;min-height:42px;padding:8px 12px;font-size:15px}
.toolbar .btn{flex:none}
.dtw{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.dt{width:100%;border-collapse:collapse;font-size:14.5px;min-width:720px}
.dt th,.dt td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.dt thead th{font-size:13px;font-weight:600;color:var(--muted);background:var(--ice)}
.dt tbody tr:last-child td{border-bottom:0}
.dt td small{display:block;color:var(--muted);font-size:13px}
.dt .num{text-align:right;font-variant-numeric:tabular-nums}
.dt .tnum{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.dt .empty{text-align:center;color:var(--muted);padding:24px}
.st{display:inline-block;font-size:12.5px;font-weight:600;padding:2px 10px;border-radius:999px;white-space:nowrap}
.st.ok{background:var(--ok-bg);color:var(--ok)}.st.warn{background:var(--warn-bg);color:var(--warn)}.st.no{background:var(--err-bg);color:var(--err)}.st.info{background:var(--ice-2);color:var(--royal-2)}.st.off{background:#EEF1F7;color:var(--muted)}
.scan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
@media (max-width:860px){.scan{grid-template-columns:1fr}}
.viewfinder{position:relative;aspect-ratio:4/3;max-width:100%;border-radius:16px;background:radial-gradient(circle at 50% 40%,#13245E,#020A24 70%);overflow:hidden;display:grid;place-items:center}
.viewfinder .frame{width:56%;aspect-ratio:1;border-radius:16px;box-shadow:0 0 0 2000px rgba(2,10,36,.35);position:relative}
.viewfinder .frame::before,.viewfinder .frame::after{content:"";position:absolute;inset:0;border:3px solid var(--halo);border-radius:16px;clip-path:polygon(0 0,22% 0,22% 4%,4% 4%,4% 22%,0 22%,0 78%,4% 78%,4% 96%,22% 96%,22% 100%,78% 100%,78% 96%,96% 96%,96% 78%,100% 78%,100% 22%,96% 22%,96% 4%,78% 4%,78% 0,100% 0,100% 100%,0 100%)}
.viewfinder .line{position:absolute;left:24%;right:24%;height:2px;background:var(--teal);box-shadow:0 0 12px var(--teal);top:50%;animation:scan 2.4s ease-in-out infinite}
@keyframes scan{0%,100%{transform:translateY(-70px)}50%{transform:translateY(70px)}}
.viewfinder p{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:var(--d-muted);font-size:14px}
.result{padding:18px;border-radius:14px;border:1.5px solid var(--line);display:grid;gap:4px;min-height:96px;align-content:center}
.result.ok{border-color:var(--ok);background:var(--ok-bg)}.result.warn{border-color:#E0B656;background:var(--warn-bg)}.result.no{border-color:var(--err);background:var(--err-bg)}
.result strong{font-size:19px}
.livecount{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.livecount b{font-size:56px;font-weight:600;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.meter{height:12px;border-radius:999px;background:var(--ice-2);overflow:hidden}
.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--royal),var(--teal));border-radius:999px}
.trychips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--muted)}
.trychips button{font-variant-numeric:tabular-nums}
.badge-prev{width:280px;max-width:100%;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);margin-inline:auto}
.badge-prev .top{background:var(--navy);color:#fff;padding:12px 14px;font-size:13px;display:flex;gap:8px;align-items:center}
.badge-prev .top img{width:26px;height:26px}
.badge-prev .mid{padding:16px 14px;display:grid;gap:2px;text-align:center}
.badge-prev .mid b{font-size:21px;line-height:1.3}
.badge-prev .mid span{font-size:13.5px;color:var(--muted)}
.badge-prev .bot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px dashed var(--line-2);font-size:12.5px;font-weight:600}
.badge-prev .bot .qr{width:64px;height:64px}
.perm td,.perm th{text-align:center}
.perm td:first-child,.perm th:first-child{text-align:left}
.yes{color:var(--ok);font-weight:700}.no-x{color:#B0B8CC}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.news-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);min-width:0}
.news-date{background:var(--navy);color:#fff;border-radius:16px;display:grid;justify-items:center;text-align:center;padding:18px 8px;align-self:start;gap:4px}
.news-date b{font-size:40px;line-height:1;font-weight:700}
.news-date>span{font-size:14px;color:var(--halo)}
.news-date.alt{background:var(--royal)}
.news-date.alt b{font-size:22px;line-height:1.2}
.news-date.alt>span{color:#fff}
.news-body{display:grid;gap:10px;align-content:start;min-width:0}
.news-body .st{justify-self:start}
.news-body h3{font-size:20px;line-height:1.35}
.news-meta{display:grid;gap:6px;margin:0}
.news-meta div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}
.news-meta dt{color:var(--muted);font-size:14px}
.news-meta dd{margin:0;font-size:15px}
.gf-note{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:12px 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--paper)}
.gf-note p{margin:0;flex:1;min-width:0}
@media (max-width:860px){.news-grid{grid-template-columns:1fr}}
@media (max-width:480px){.news-card{grid-template-columns:1fr}.news-date{justify-self:start;padding:10px 18px}}

.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#printArea{display:none}
@page{size:A6 portrait;margin:0}
@media print{
  body.printing-badges > *:not(#printArea){display:none!important}
  body.printing-badges #printArea{display:block}
  body.printing-badges{background:#fff}
  .no-print,header.site,footer.site{display:none!important}
  body{background:#fff}
}
.bdg{width:105mm;height:148mm;box-sizing:border-box;display:grid;grid-template-rows:auto 1fr auto;font-family:var(--f);color:#0A1638;page-break-after:always;break-after:page;overflow:hidden;background:#fff}
.bdg-top{background:#001A55;color:#fff;display:flex;gap:4mm;align-items:center;padding:6mm 7mm;font-weight:600;font-size:10pt;line-height:1.25;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.bdg-top img{width:13mm;height:13mm}
.bdg-mid{display:grid;align-content:center;justify-items:center;text-align:center;gap:2mm;padding:6mm 7mm}
.bdg-mid b{font-size:21pt;line-height:1.2;overflow-wrap:anywhere}
.bdg-mid span{font-size:11pt;color:#26355E;overflow-wrap:anywhere}
.bdg-mid .org{font-weight:600;font-size:12pt;color:#0A1638}
.bdg-bot{display:flex;gap:5mm;align-items:center;padding:5mm 7mm 7mm;border-top:1px dashed #C2D0EA}
.bdg-bot .qr{width:30mm;height:30mm;flex:none}
.bdg-bot div{display:grid;font-size:9.5pt;color:#53618A}
.bdg-bot b{font-size:12pt;color:#0A1638;letter-spacing:.05em}
