.application-count { overflow: hidden; margin: 18px 0 20px; border: 1px solid #b9e5e2; border-radius: 20px; background: #fff; box-shadow: 0 10px 26px #2348431a; font-family: "Noto Sans JP", sans-serif; }
.application-count__head { display:flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:9px 16px; background:linear-gradient(135deg,#49bdb7,#16aaa2); color:#fff; text-align:center; }
.application-count__head strong { font-size:17px; font-weight:950; letter-spacing:.08em; }
.application-count__head > span { display:inline-grid; place-items:center; width:27px; height:27px; font-size:20px; line-height:1; filter:grayscale(1) brightness(0) invert(1); }
.application-count__body { display:grid; justify-items:center; padding:14px 16px 16px; text-align:center; gap:4px; }
.application-count__body small { color:#087f7a; font-size:11px; font-weight:900; letter-spacing:.06em; }
.application-count__body small::before, .application-count__body small::after { content:"—"; margin:0 7px; color:#57c2bd; }
.application-count__body p { display:flex; align-items:baseline; justify-content:center; gap:10px; margin:3px 0 4px; color:#252d3a; line-height:1; }
.application-count__body p strong { font-size:46px; font-weight:950; color:#087f7a; }
.application-count__body p span { font-size:28px; font-weight:850; }
.application-count__body p b { font-size:20px; font-weight:900; color:#087f7a; }
.application-count__body p em { margin-left:-4px; font-size:16px; font-style:normal; font-weight:900; }
.application-count__remaining { color:#087f7a; font-size:12px; font-weight:900; }
.application-count__updated { display:block; padding:0 12px 12px; color:#76666d; text-align:center; font-size:11px; }
.application-count__updated.is-current { display:none; }
.application-count.is-nearly-full .application-count__head, .event-status-badge.is-nearly-full { background:#facc15; color:#422d00; }
.application-count.is-nearly-full .application-count__head > span { filter:grayscale(1) brightness(0); }
.application-count.is-full .application-count__head, .event-status-badge.is-full { background:#c62828; color:#fff; }
.application-count.is-ended .application-count__head { background:#777; }
.application-count.is-ended { opacity:.8; }

/* An ended event displays a single 終了 label without counts or separators. */
.application-count.is-ended .application-count__body p em,
.application-count.is-ended .application-count__body p span,
.application-count.is-ended .application-count__body p b { display: none; }
.application-count.is-ended .application-count__body p strong { font-size: 32px; line-height: 1.4; color: #666; }
