:root{--green:#123f2b;--green2:#1d6a48;--gold:#b99024;--gold2:#f0d47c;--ink:#18231d;--muted:#66756d;--line:#dce6df;--bg:#f4f7f5;--shadow:0 18px 54px rgba(12,54,35,.09);--soft:#eef7f1}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}.wrap{width:min(1080px,calc(100% - 32px));margin:auto}a,button{-webkit-tap-highlight-color:transparent}.topbar{background:var(--green);color:#fff}.topbar-inner{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand,.topnav a{color:#fff;text-decoration:none}.brand{font-weight:900}.topnav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.topnav a{font-size:.82rem;opacity:.92}.hero{padding:58px 0 44px;background:linear-gradient(135deg,#082c20,#123f2b 58%,#1d6a48);color:#fff}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;align-items:end}.eyebrow,.section-kicker{display:block;color:#77d39f;font-size:.68rem;font-weight:950;letter-spacing:.11em}.hero h1{margin:8px 0 10px;font-size:clamp(2.4rem,5vw,4rem);line-height:.98;letter-spacing:-2px}.hero h1 span{color:var(--gold2)}.hero p{max-width:720px;margin:0;color:#d4e5db;font-size:.96rem}.hero-note{padding:18px;border:1px solid rgba(240,212,124,.34);border-radius:18px;background:rgba(3,28,20,.34)}.hero-note strong{color:var(--gold2)}.hero-note p{margin:5px 0 0;font-size:.76rem}.content{padding:28px 0 56px}.state-card,.summary-card,.event-panel,.verification-card,.history-panel,.next-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.state-card{display:flex;align-items:center;gap:14px;padding:22px}.state-card[hidden]{display:none!important}.state-card p{margin:3px 0 0;color:var(--muted);font-size:.82rem}.loader{width:32px;height:32px;border:3px solid #d8e9df;border-top-color:var(--green2);border-radius:50%;animation:spin .8s linear infinite}.state-error{border-color:#efcaca;background:#fff8f8}.state-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fde7e7;color:#a73636;font-weight:900}@keyframes spin{to{transform:rotate(360deg)}}.summary-card{padding:26px;background:linear-gradient(145deg,#fff,#fbfdfb 65%,#f7fbf8)}.summary-head,.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.summary-head h2,.panel-head h3{margin:5px 0 4px}.summary-head p{margin:0;color:var(--muted);font-size:.82rem}.member-badge,.panel-chip,.next-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#e2f2e8;color:#17653f;font-size:.64rem;font-weight:950;letter-spacing:.06em;white-space:nowrap}.member-badge.is-basic{background:#eef2ef;color:#66756d}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.stats-grid article{padding:18px;border:1px solid #e0e9e3;border-radius:15px;background:#fbfcfb}.stats-grid span{display:block;color:var(--muted);font-size:.68rem;font-weight:900}.stats-grid strong{display:block;margin-top:3px;color:var(--green);font-size:1.6rem}.stats-grid small{display:block;color:var(--muted);font-size:.64rem;margin-top:2px}.stats-grid .accent{border-color:#d9c575;background:#fffaf0}.stats-grid .accent strong{color:#8a6700}.level-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.level-strip div{padding:11px 13px;border-radius:12px;background:#f8faf8}.level-strip span{display:block;color:var(--muted);font-size:.63rem;font-weight:900}.level-strip strong{display:block;margin-top:2px;color:var(--green);font-size:.86rem}.event-panel{margin-top:16px;padding:22px}.panel-head h3{font-size:1.18rem}.panel-intro{margin:8px 0 16px;color:var(--muted);font-size:.78rem}.event-list{display:grid;gap:12px}.event-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px;border:1px solid #dfe8e2;border-radius:16px;background:#fbfcfb}.event-card.is-registered{border-color:#b9dbc6;background:#f6fbf8}.event-card.is-attended{border-color:#d6c27c;background:#fffaf0}.event-card.is-locked{opacity:.82}.event-top{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.event-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#e8f2eb;color:#17653f;font-size:.58rem;font-weight:950;letter-spacing:.04em}.event-chip.gold{background:#fff0bd;color:#775900}.event-card h4{margin:8px 0 3px;font-size:1rem}.event-card p{margin:0;color:var(--muted);font-size:.75rem}.event-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;color:#53675d;font-size:.67rem}.event-meta span{display:inline-flex;gap:5px}.event-status{margin-top:11px;color:#53675d;font-size:.67rem;font-weight:850}.event-actions{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:126px}.event-actions .btn{width:100%}.empty-card{display:flex;align-items:flex-start;gap:13px;padding:18px;border:1px dashed #ccd9d0;border-radius:15px;background:#fafcfb}.empty-card[hidden]{display:none!important}.empty-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:12px;background:#edf3ef;color:#5d7366;font-size:1.1rem}.empty-card p{margin:4px 0 0;color:var(--muted);font-size:.75rem}.verification-card{display:grid;grid-template-columns:48px 1fr;gap:14px;margin-top:16px;padding:20px;background:#fffcf4;border-color:#ead99b}.verification-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#fff1bd;color:#775900;font-weight:950;font-size:1.1rem}.verification-card h3{margin:4px 0}.verification-card p{margin:0;color:var(--muted);font-size:.76rem}.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.history-panel{padding:20px}.history-list{display:grid;gap:8px;margin-top:14px}.history-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e4ebe6;border-radius:12px;background:#fbfcfb}.history-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#edf4ef;color:#17653f;font-weight:950}.history-copy strong{display:block;font-size:.76rem}.history-copy small{display:block;margin-top:2px;color:var(--muted);font-size:.62rem}.history-value{color:var(--green);font-size:.66rem;font-weight:950;text-align:right}.history-empty{margin:14px 0 0;color:var(--muted);font-size:.74rem}.next-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:16px;padding:20px;border-style:dashed}.next-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#eef3f7;color:#527083;font-size:1.15rem}.next-card h3{margin:4px 0}.next-card p{margin:0;color:var(--muted);font-size:.78rem}.next-badge{background:#eef3f7;color:#526d7c}.page-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid var(--green);border-radius:11px;background:#fff;color:var(--green);text-decoration:none;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.btn.primary{background:var(--green);color:#fff}.btn.outline{background:#fff;color:var(--green)}.btn.muted{border-color:#cfd8d2;color:#68776e}.btn:disabled{cursor:not-allowed;opacity:.58}.toast{position:fixed;left:50%;bottom:24px;z-index:30;transform:translateX(-50%);max-width:min(92vw,560px);padding:12px 16px;border-radius:12px;background:#123f2b;color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.18);font-size:.78rem;font-weight:800}.toast[hidden]{display:none!important}footer{border-top:1px solid var(--line);background:#fff;padding:26px 0;color:var(--muted);font-size:.78rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-inner div{display:grid}.footer-inner strong{color:var(--ink)}@media(max-width:840px){.stats-grid{grid-template-columns:1fr 1fr}.history-grid{grid-template-columns:1fr}.event-card{grid-template-columns:1fr}.event-actions{min-width:0;flex-direction:row;justify-content:flex-start}.event-actions .btn{width:auto}}@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.level-strip{grid-template-columns:1fr 1fr}.level-strip div:last-child{grid-column:1/-1}}@media(max-width:560px){.wrap{width:min(100% - 20px,1080px)}.topbar-inner{min-height:58px;align-items:flex-start;padding:12px 0}.topnav{gap:8px}.hero{padding:44px 0 32px}.hero h1{font-size:2.65rem}.content{padding:20px 0 44px}.summary-card,.event-panel,.verification-card,.history-panel{padding:18px;border-radius:17px}.summary-head{display:grid}.member-badge{justify-self:start}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid article{padding:15px}.level-strip{grid-template-columns:1fr}.level-strip div:last-child{grid-column:auto}.event-card{padding:15px}.event-actions{display:grid;grid-template-columns:1fr 1fr}.event-actions .btn{width:100%}.verification-card{grid-template-columns:42px 1fr}.verification-icon{width:42px;height:42px}.history-item{grid-template-columns:36px minmax(0,1fr)}.history-icon{width:36px;height:36px}.history-value{grid-column:2;text-align:left}.next-card{padding:16px;grid-template-columns:44px minmax(0,1fr)}.next-badge{grid-column:2;justify-self:start}.page-actions{display:grid}.btn{width:100%}.footer-inner{align-items:flex-start;flex-direction:column}}
/* V17.19.13B — Event image + public detail */
.event-card{display:block;overflow:hidden;padding:0}.event-cover-link{display:block;aspect-ratio:1.91/1;background:#eaf1ec;overflow:hidden}.event-cover-image{display:block;width:100%;height:100%;object-fit:cover}.event-card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px}.event-actions .event-detail-link{text-decoration:none}.event-actions .btn.outline{background:#fff;color:var(--green)}
@media(max-width:840px){.event-card-body{grid-template-columns:1fr}.event-actions{min-width:0;flex-direction:row;justify-content:flex-start}}
@media(max-width:560px){.event-card-body{padding:15px}.event-actions{display:grid;grid-template-columns:1fr 1fr}.event-actions .btn{width:100%}}
