:root{--ske-seat-red:#dc2626;--ske-seat-orange:#f97316;--ske-seat-purple:#7c3aed;--ske-seat-navy:#0c2456}
.ske-seat-map-viewport{position:relative;width:100%;height:min(64vh,590px);overflow:hidden;overscroll-behavior:contain;border:1px solid #d8dee8;border-radius:18px;background:#eef2f7;box-shadow:inset 0 1px 4px rgba(15,23,42,.08);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.ske-seat-map-scaler{position:relative;min-width:100%;min-height:100%;overflow:hidden}.ske-seat-map-stage{position:absolute;top:0;left:0;width:1400px;height:949px;transform-origin:0 0;background:#fff}.ske-seat-map-image,.ske-seat-map-overlay{position:absolute;inset:0;display:block;width:1400px;height:949px}.ske-seat-map-image{object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}.ske-seat-map-overlay{overflow:visible}.ske-seat-hit rect{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke}.ske-seat-hit.is-interactive{cursor:pointer;outline:none;pointer-events:all}.ske-seat-hit.is-interactive:hover rect,.ske-seat-hit.is-interactive:focus rect{fill:rgba(12,36,86,.22);stroke:#0c2456}.ske-seat-hit.is-marked rect,.ske-seat-hit.is-selected rect{fill:var(--seat-mark-color);fill-opacity:.72;stroke:#fff;stroke-width:2.2}.ske-seat-hit.is-selected rect{fill:#dc2626;fill-opacity:.8;stroke:#7f1d1d;stroke-width:3}
.seat-register-row{display:flex;align-items:center;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid #e5e7eb}.seat-register-button{appearance:none;min-height:34px;padding:6px 12px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.seat-register-summary{min-width:0;color:#64748b;font-size:11px;font-weight:750}.seat-register-summary.has-seat{color:#0c2456}
.ske-seat-modal{position:fixed;inset:0;z-index:420;display:none;align-items:center;justify-content:center;padding:12px}.ske-seat-modal.is-open{display:flex}.ske-seat-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.56);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.ske-seat-modal-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,820px);max-height:calc(100vh - 24px);overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:24px;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.35)}.ske-seat-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px 12px;border-bottom:1px solid #e5e7eb}.ske-seat-modal-title{margin:0;color:#111827;font-size:18px;font-weight:900}.ske-seat-modal-event{margin:4px 0 0;color:#64748b;font-size:11px;line-height:1.5}.ske-seat-modal-close{appearance:none;display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:0;border-radius:50%;background:#f1f5f9;color:#64748b;font:700 21px/1 sans-serif;cursor:pointer}.ske-seat-modal-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:9px 12px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.ske-seat-zoom-button{appearance:none;min-width:38px;min-height:34px;padding:5px 9px;border:1px solid #d8dee8;border-radius:10px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.ske-seat-zoom-value{min-width:46px;color:#64748b;font-size:11px;font-weight:800;text-align:center}.ske-seat-selected{margin-left:auto;color:#0c2456;font-size:12px;font-weight:900}.ske-seat-modal-body{min-height:0;overflow:hidden;padding:10px 12px}.ske-seat-modal-foot{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));border-top:1px solid #e5e7eb;background:#fff}.ske-seat-action{appearance:none;min-height:39px;padding:7px 15px;border:1px solid #d8dee8;border-radius:12px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.ske-seat-action.primary{border-color:#0c2456;background:#0c2456;color:#fff}.ske-seat-action.danger{border-color:#fecaca;color:#b91c1c}body.has-ske-seat-modal{overflow:hidden}
.seat-history-page{max-width:820px;margin:0 auto;padding:14px 12px 60px;color:#111827}.seat-history-header{display:flex;align-items:center;gap:11px;margin-bottom:12px}.seat-history-back{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #d8dee8;border-radius:50%;background:#fff;color:#0c2456;text-decoration:none;font-size:25px;line-height:1}.seat-history-title{margin:0;font-size:22px;font-weight:900}.seat-history-lead{margin:3px 0 0;color:#64748b;font-size:11px}.seat-history-status{margin:0 0 12px;padding:10px 12px;border:1px solid #dbe4f0;border-radius:13px;background:#fff;color:#475569;font-size:11px;line-height:1.55}.seat-history-overview,.seat-history-record{margin-bottom:14px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(15,23,42,.055);overflow:hidden}.seat-history-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px}.seat-history-section-head h2,.seat-history-section-head h3{margin:0;font-size:15px;font-weight:900}.seat-history-section-head p{margin:3px 0 0;color:#64748b;font-size:10px}.seat-history-map-wrap{padding:0 12px 12px}.seat-history-map-wrap .ske-seat-map-viewport{height:min(54vh,460px)}.seat-history-legend{display:flex;flex-wrap:wrap;gap:10px;padding:0 14px 13px;color:#64748b;font-size:10px}.seat-history-legend span{display:inline-flex;align-items:center;gap:4px}.seat-history-legend i{width:11px;height:11px;border-radius:3px}.seat-history-list{display:grid;gap:13px}.seat-history-record-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:13px 14px 10px}.seat-history-date{color:#64748b;font-size:10px;font-weight:750}.seat-history-performance{margin:3px 0 0;font-size:14px;font-weight:900;line-height:1.4}.seat-history-seat{align-self:center;padding:5px 10px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:900;white-space:nowrap}.seat-history-record-map{padding:0 12px 12px}.seat-history-record-map .ske-seat-map-viewport{height:300px}.seat-history-delete{appearance:none;margin:0 12px 12px auto;display:block;min-height:32px;padding:5px 11px;border:1px solid #fecaca;border-radius:10px;background:#fff;color:#b91c1c;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.seat-history-empty{padding:28px 16px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff;color:#64748b;text-align:center;font-size:12px;line-height:1.7}
@media(max-width:600px){.ske-seat-modal{align-items:flex-end;padding:0}.ske-seat-modal-panel{width:100%;max-height:94vh;border-radius:22px 22px 0 0}.ske-seat-modal-body{padding:8px}.ske-seat-map-viewport{height:58vh;border-radius:12px}.ske-seat-selected{width:100%;margin-left:0}.seat-history-record-map .ske-seat-map-viewport{height:250px}}
html.ske-theme-black .ske-seat-modal-panel,html.ske-theme-black .seat-history-overview,html.ske-theme-black .seat-history-record,html.ske-theme-black .seat-history-status{border-color:#334155;background:#111827;color:#f8fafc}html.ske-theme-black .ske-seat-modal-head,html.ske-theme-black .ske-seat-modal-foot{border-color:#334155;background:#111827}html.ske-theme-black .ske-seat-modal-tools{border-color:#334155;background:#0b1220}html.ske-theme-black .ske-seat-modal-title,html.ske-theme-black .seat-history-title,html.ske-theme-black .seat-history-performance{color:#f8fafc}
.ske-seat-modal-hint{margin:0;padding:8px 12px;border-bottom:1px solid #e5e7eb;background:#fff;color:#64748b;font-size:10px;line-height:1.55}.ske-seat-modal-note{display:grid;gap:5px;padding:9px 12px 2px}.ske-seat-modal-note label{color:#475569;font-size:10px;font-weight:850}.ske-seat-modal-note textarea{width:100%;min-height:58px;resize:vertical;padding:9px 10px;border:1px solid #d8dee8;border-radius:12px;background:#fff;color:#111827;font:inherit;font-size:12px;line-height:1.5}.join-button[data-seat-open].has-seat{border-color:#0c2456;background:#0c2456;color:#fff}.join-button[data-seat-open].has-seat::after{content:"✓";margin-left:4px;font-weight:900}@media(max-width:600px){.ske-seat-map-viewport{height:min(58vh,520px)}.ske-seat-modal-hint{font-size:9.5px}}
.seat-history-share-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px}
.seat-history-share-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 14px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.seat-history-share-button.primary{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.seat-history-share-status{min-height:20px;padding:0 14px 14px;color:#64748b;font-size:10px;line-height:1.6}
@media(max-width:600px){.seat-history-share-actions{padding:0 12px 10px}.seat-history-share-button{flex:1 1 150px}}

.seat-history-map-error{
  display:grid;
  place-items:center;
  min-height:220px;
  padding:24px;
  border:1px dashed #fca5a5;
  border-radius:14px;
  background:#fff7f7;
  color:#b91c1c;
  font-size:12px;
  font-weight:800;
  line-height:1.7;
  text-align:center;
}

/* v198: 座席登録モーダルの「全体表示」修正 */
.ske-seat-modal-panel{
  height:min(940px,calc(100vh - 24px));
  height:min(940px,calc(100dvh - 24px));
  max-height:calc(100vh - 24px);
  max-height:calc(100dvh - 24px);
}
.ske-seat-modal-head,
.ske-seat-modal-tools,
.ske-seat-modal-hint,
.ske-seat-modal-note,
.ske-seat-modal-foot{
  flex:0 0 auto;
}
.ske-seat-modal-body{
  flex:1 1 0;
  min-height:220px;
  overflow:hidden;
}
.ske-seat-modal-body>[data-seat-map]{
  width:100%;
  height:100%;
  min-height:0;
}
.ske-seat-modal-body .ske-seat-map-viewport{
  width:100%;
  height:100%!important;
  min-height:0;
}
@media(max-width:600px){
  .ske-seat-modal-panel{
    height:94vh;
    height:94dvh;
    max-height:94vh;
    max-height:94dvh;
  }
  .ske-seat-modal-body{
    min-height:180px;
  }
  .ske-seat-modal-body .ske-seat-map-viewport{
    height:100%!important;
  }
}
