
:root{
 --teal:#16869c;--teal-dark:#0b5d70;--wine:#9f0d43;--ink:#08384c;--muted:#637d88;
 --bg:#f2f7f8;--line:#d6e4e8;--green:#138a4b;--green-bg:#e8f8ee;
 --amber:#b86b00;--amber-bg:#fff4df;--red:#b8293a;--red-bg:#fdecef;--blue-bg:#eaf6fb;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
.topbar{background:#fff;border-bottom:1px solid #edf2f4}
.topbar-inner{width:min(1280px,calc(100% - 36px));min-height:92px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-title{font-size:15px;font-weight:850;line-height:1.2;color:#073f50}
.site-sub{font-size:12px;color:#67808a;margin-top:5px}
.topnav{display:flex;align-items:center;gap:24px}
.topnav a{color:#073f50;text-decoration:none;font-weight:800;font-size:14px}
.topnav .primary-link{background:var(--wine);color:#fff;border-radius:10px;padding:13px 20px}
.hero{background:var(--teal);padding:26px 18px 32px;text-align:center}
.event-logo{display:block;width:min(390px,86vw);height:auto;margin:0 auto 12px}
.hero-title{font-size:clamp(23px,3.5vw,34px);margin:4px 0 12px;color:#073f50;font-weight:800}
.event-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.meta-pill{border:1px solid rgba(255,255,255,.55);color:#fff;border-radius:999px;padding:9px 13px;font-size:13px;background:rgba(0,0,0,.05)}
.wrap{width:min(1100px,calc(100% - 28px));margin:-18px auto 42px}
.card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 12px 30px rgba(8,56,76,.12)}
h1{font-size:30px;margin:0 0 10px}
h2{font-size:20px}
.lead{line-height:1.55;color:#365765;margin:0 0 20px}
.time-note{display:flex;gap:12px;align-items:flex-start;background:var(--blue-bg);border:1px solid #cfe9f2;border-radius:11px;padding:14px 16px;margin:16px 0 22px;color:#185f78}
.time-note .ico{font-size:21px;line-height:1}
.nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.module{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:22px 16px;text-align:center;background:#fff;transition:.15s ease}
.module:hover{border-color:var(--teal);transform:translateY(-1px)}
.module .icon{font-size:27px;margin-bottom:8px}
.module strong{display:block;font-size:17px}.module span{display:block;color:var(--muted);font-size:13px;margin-top:7px;line-height:1.4}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.full{grid-column:1/-1}
label{font-weight:750;display:block;margin:4px 0 7px}
input,select{width:100%;padding:13px;border:1px solid #cbd9dd;border-radius:9px;font-size:16px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:3px solid #caeaf0;border-color:var(--teal)}
button,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:var(--green);color:#fff;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer;font-size:15px}
button:disabled{opacity:.55;cursor:not-allowed}
.btn.secondary{background:var(--teal)} .btn.wine{background:var(--wine)} .btn.light{background:#edf6f8;color:var(--teal)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.msg{margin-top:14px;padding:14px;border-radius:10px;display:none;line-height:1.45}
.msg.info{display:block;background:var(--blue-bg);color:#185f78}
.msg.ok{display:block;background:var(--green-bg);color:#0c6b38}
.msg.err{display:block;background:var(--red-bg);color:#9d2232}
.folio{font-size:26px;font-weight:900;color:var(--teal);padding:16px;background:#eef8fa;border-left:5px solid var(--teal);margin:16px 0}
.result{border:1px solid var(--line);border-radius:12px;padding:17px;margin-top:15px;background:#fff}
.result h3{margin:0 0 8px}.muted{color:#607d8b;font-size:13px;margin-top:7px}
.back{color:var(--teal);display:inline-block;margin-bottom:13px;text-decoration:none;font-weight:750}
.foot{text-align:center;font-size:12px;color:#607d8b;padding:0 15px 30px}.foot a{color:#087d91}
.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:4px}
.search-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 18px}
.search-method{background:#fff;color:var(--teal);border:2px solid #d7e5e8;border-radius:11px;padding:14px 10px;min-height:50px;font-weight:850}
.search-method.active{background:#eaf6f8;color:#0d6477;border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.state{border-radius:13px;padding:18px;margin:16px 0;line-height:1.45}
.state-title{font-weight:900;font-size:18px;margin-bottom:5px}
.state.success{background:var(--green-bg);border:1px solid #bfe8cc;color:#0b6b37}
.state.warning{background:var(--amber-bg);border:1px solid #f0d19a;color:#8c5200}
.state.danger{background:var(--red-bg);border:1px solid #efc1c8;color:#9d2232}
.state.info{background:var(--blue-bg);border:1px solid #cfe9f2;color:#185f78}
.summary{background:#f5f8f9;border:1px solid #e0e9ec;border-radius:11px;padding:14px 16px;margin-top:12px;line-height:1.6}
.success-icon{font-size:27px;margin-right:8px}
.inline-title{display:flex;align-items:center}
.helper{font-size:12px;color:var(--muted);margin-top:6px}
.badge{display:inline-block;font-size:12px;font-weight:850;padding:5px 8px;border-radius:999px;background:#edf6f8;color:#0d6477}
.support-box{margin-top:14px;padding:13px 15px;background:#f8fafb;border-radius:10px;border:1px solid #dce7ea;font-size:13px;line-height:1.5}
@media(max-width:760px){
 .topbar-inner{min-height:78px}.topnav a:not(.primary-link){display:none}
 .topnav .primary-link{padding:11px 14px}.site-title{font-size:13px}
 .hero{padding:20px 12px 28px}.event-logo{width:min(340px,91vw)}
 .wrap{width:min(100% - 20px,100%);margin-top:-15px}.card{padding:20px 16px}
 .grid,.nav-grid{grid-template-columns:1fr}.full{grid-column:auto}
 .search-methods{grid-template-columns:1fr 1fr}.search-method{font-size:14px}
 h1{font-size:25px}.event-meta{gap:7px}.meta-pill{font-size:12px;padding:8px 10px}
}
