.mas-ap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.mas-ap-card, .mas-ap-home-card, .mas-ap-splash-box, .mas-ap-placeholder-form { border: 1px solid rgba(255,255,255,.16); border-radius: 22px; padding: 1.2rem; background: rgba(255,255,255,.06); }
.mas-ap-card img { width: 100%; height: auto; border-radius: 16px; display: block; }
.mas-ap-button { display: inline-block; border-radius: 999px; padding: .65rem 1rem; margin-top: .5rem; background: #e63946; color: #fff !important; text-decoration: none; font-weight: 700; }
.mas-ap-button.secondary { background: #457b9d; }
.mas-ap-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.mas-ap-small { font-size: .9rem; opacity: .82; }
.mas-ap-date { font-weight: 800; color: #ffb703; }
.mas-ap-placeholder-form input { padding: .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); max-width: 100%; }
.mas-ap-placeholder-form button { padding: .75rem 1rem; border-radius: 999px; border: 0; }


.mas-ap-admin-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:20px 0; }
.mas-ap-admin-card, .mas-ap-check-card { background:#fff; border:1px solid #dcdcde; border-radius:14px; padding:18px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.mas-ap-check-card { display:block; }
.mas-ap-license-card { margin:18px 0; }
.mas-ap-license-state-active, .mas-ap-license-state-development { color:#008a20; font-weight:700; }
.mas-ap-license-state-grace { color:#996800; font-weight:700; }
.mas-ap-license-state-expired, .mas-ap-license-state-inactive { color:#b32d2e; font-weight:700; }
.mas-ap-notice { border-radius:12px; padding:12px 14px; margin:14px 0; border:1px solid transparent; }
.mas-ap-notice.success { background:#edfaef; border-color:#46b450; }
.mas-ap-notice.warning { background:#fff8e5; border-color:#ffb900; }
.mas-ap-notice.error { background:#fcf0f1; border-color:#d63638; }
.mas-ap-debug-box { background:#111827; color:#f9fafb; padding:16px; border-radius:12px; overflow:auto; max-height:360px; }
.mas-ap-fan-claim-form { display:grid; gap:10px; max-width:560px; margin:1rem 0; }
.mas-ap-fan-claim-form input { padding:.8rem; border-radius:12px; border:1px solid rgba(0,0,0,.18); }

/* Scrollable Tour / Show List */
.mas-ap-empty { opacity:.78; font-style:italic; }
.mas-ap-show-schedule { width:100%; }
.mas-ap-show-list { overflow-y:auto; overscroll-behavior:contain; display:grid; gap:.75rem; padding:.25rem; scrollbar-width:thin; }
.mas-ap-show-list-row { display:grid; grid-template-columns: 1fr auto; gap:.75rem; align-items:center; padding:.85rem; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.055); box-shadow:0 10px 30px rgba(0,0,0,.10); }
.mas-ap-show-list-main { appearance:none; border:0; background:transparent; color:inherit; display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:1rem; width:100%; text-align:left; cursor:pointer; padding:0; }
.mas-ap-show-list-main:hover .mas-ap-show-list-title, .mas-ap-show-list-main:focus .mas-ap-show-list-title { text-decoration:underline; }
.mas-ap-show-list-main:focus-visible { outline:3px solid rgba(69,123,157,.55); outline-offset:5px; border-radius:14px; }
.mas-ap-show-list-date { display:grid; place-items:center; min-height:64px; border-radius:16px; background:rgba(255,183,3,.15); border:1px solid rgba(255,183,3,.25); color:#ffb703; text-transform:uppercase; line-height:1; }
.mas-ap-show-list-date strong { font-size:.82rem; letter-spacing:.08em; }
.mas-ap-show-list-date em { font-style:normal; font-size:1.65rem; font-weight:900; color:inherit; }
.mas-ap-show-list-info { min-width:0; display:grid; gap:.18rem; }
.mas-ap-show-list-title { font-size:1.08rem; font-weight:850; line-height:1.2; }
.mas-ap-show-list-meta, .mas-ap-show-list-time { font-size:.92rem; opacity:.78; }
.mas-ap-show-list-action { font-size:.82rem; font-weight:800; opacity:.88; border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:.45rem .7rem; white-space:nowrap; }
.mas-ap-show-list-ticket { justify-self:end; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.62rem .9rem; background:#e63946; color:#fff !important; text-decoration:none; font-weight:800; white-space:nowrap; }
.mas-ap-show-list-ticket:hover, .mas-ap-show-list-ticket:focus { filter:brightness(1.05); transform:translateY(-1px); }
body.mas-ap-show-modal-open { overflow:hidden; }
.mas-ap-show-modal { position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:clamp(1rem,4vw,2.5rem); }
.mas-ap-show-modal.is-open { display:flex; }
.mas-ap-show-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(6px); }
.mas-ap-show-modal-panel { position:relative; width:min(760px,100%); max-height:min(82vh,760px); overflow:auto; border-radius:24px; padding:clamp(1.1rem,3vw,2rem); background:#111827; color:#fff; border:1px solid rgba(255,255,255,.18); box-shadow:0 30px 90px rgba(0,0,0,.45); }
.mas-ap-show-modal-close { position:absolute; top:.85rem; right:.85rem; width:42px; height:42px; border-radius:999px; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.08); color:#fff; font-size:1.7rem; line-height:1; cursor:pointer; }
.mas-ap-show-modal-kicker { margin:0 3rem .45rem 0; color:#ffb703; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.mas-ap-show-modal h3 { margin:.1rem 3rem 1rem 0; font-size:clamp(1.6rem,4vw,2.6rem); line-height:1.05; color:#fff; }
.mas-ap-show-modal-image img { width:100%; height:auto; border-radius:18px; display:block; margin:0 0 1rem; }
.mas-ap-show-details-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.75rem; margin:1rem 0; }
.mas-ap-show-details-list div { border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); border-radius:16px; padding:.85rem; }
.mas-ap-show-details-list dt { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; opacity:.65; margin:0 0 .25rem; }
.mas-ap-show-details-list dd { margin:0; font-weight:750; }
.mas-ap-show-modal-copy { opacity:.9; }
.mas-ap-show-modal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-top:1.2rem; }
.mas-ap-show-checkin { display:inline-flex; align-items:center; border-radius:999px; padding:.62rem .85rem; background:rgba(69,123,157,.18); border:1px solid rgba(69,123,157,.35); font-size:.9rem; }
@media (max-width: 680px) {
    .mas-ap-show-list-row { grid-template-columns:1fr; }
    .mas-ap-show-list-main { grid-template-columns:58px 1fr; }
    .mas-ap-show-list-action { grid-column:2; justify-self:start; margin-top:.35rem; }
    .mas-ap-show-list-ticket { justify-self:stretch; }
    .mas-ap-show-modal { padding:.75rem; align-items:flex-end; }
    .mas-ap-show-modal-panel { max-height:88vh; border-radius:22px 22px 0 0; }
}
