.scpc-calendar-wrap{max-width:1100px;margin:0 auto 1rem}.scpc-category-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.scpc-legend-item{display:inline-flex;align-items:center;gap:.35rem}.scpc-legend-color{width:1rem;height:1rem;border-radius:999px;display:inline-block}.scpc-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;padding:2rem;overflow:auto}.scpc-modal.is-open{display:block}.scpc-modal-box{background:#fff;max-width:760px;margin:2rem auto;padding:1.5rem;border-radius:12px;position:relative}.scpc-modal-close{position:absolute;right:.75rem;top:.5rem;border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer}.scpc-detail-row{display:grid;grid-template-columns:8em 1fr;gap:1rem;border-top:1px solid #eee;padding:.75rem 0}.scpc-detail-description{margin-top:1rem}.scpc-detail-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin:1rem 0}.scpc-detail-images img{width:100%;height:120px;object-fit:cover;border-radius:8px}.scpc-actions{display:flex;gap:.75rem;margin-top:1rem}.scpc-button{display:inline-block;padding:.6rem 1rem;border-radius:6px;border:1px solid #2271b1;background:#2271b1;color:#fff;text-decoration:none;cursor:pointer}.scpc-button:hover{color:#fff}.scpc-danger{background:#b32d2e;border-color:#b32d2e}.scpc-form{max-width:760px;margin:0 auto;display:grid;gap:1rem}.scpc-form label{display:grid;gap:.3rem;font-weight:600}.scpc-form input,.scpc-form textarea,.scpc-form select{width:100%;padding:.55rem;border:1px solid #ccc;border-radius:6px}.scpc-form span{color:#b32d2e}.scpc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.scpc-checkbox{display:flex!important;align-items:center;gap:.5rem}.scpc-checkbox input{width:auto}.scpc-error{background:#fdeaea;border-left:4px solid #b32d2e;padding:.75rem;margin:1rem 0}.scpc-current-images{display:grid;gap:.75rem}.scpc-image-remove{display:inline-flex!important;align-items:center;gap:.75rem}.scpc-image-remove img{width:90px;height:70px;object-fit:cover;border-radius:6px}.fc .fc-daygrid-event{cursor:pointer}@media(max-width:640px){.scpc-grid{grid-template-columns:1fr}.scpc-detail-row{grid-template-columns:1fr}.scpc-modal{padding:.5rem}.scpc-modal-box{margin:.5rem auto}}
.fc .fc-daygrid-event { white-space: normal; }
.fc .fc-event-title { white-space: normal; word-break: break-word; }
.fc .fc-daygrid-dot-event { align-items: flex-start !important; }
.fc .fc-daygrid-event-dot { margin-top: 5px !important; flex-shrink: 0; }
.fc-toolbar-chunk:nth-child(2) { display: flex !important; flex-direction: row !important; align-items: center !important; }
.fc-toolbar-chunk .scpc-category-legend { margin: 0 0 0 1.5rem !important; align-items: center; }
.scpc-calendar-readonly-wrap { margin-top: 0 !important; padding-top: 0 !important; }
.scpc-calendar-readonly-wrap .fc,
.scpc-calendar-readonly-wrap .fc-header-toolbar { margin-top: 0 !important; padding-top: 0 !important; }
.scpc-calendar-readonly-wrap .fc-header-toolbar { margin-bottom: .5rem !important; }
.scpc-calendar-readonly-wrap .scpc-category-legend { justify-content: center; margin: 0 0 .75rem 0 !important; }
.scpc-calendar-readonly-wrap .fc-toolbar-chunk .scpc-category-legend { margin-top: 0 !important; margin-bottom: 0 !important; }
pre:has(.scpc-calendar-wrap),
code:has(.scpc-calendar-wrap) { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; white-space: normal !important; }
.scpc-detail-images a { cursor: zoom-in; }
.scpc-image-lightbox { display: none; position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; z-index: 2147483647; background: rgba(0,0,0,.82); padding: 2rem; overflow: hidden; touch-action: none; }
.scpc-image-lightbox.is-open { display: block; }
.scpc-image-lightbox-stage { --scpc-lightbox-scale: 1; --scpc-lightbox-x: 0px; --scpc-lightbox-y: 0px; position: absolute !important; left: 50% !important; top: 50% !important; width: calc(100vw - 4rem) !important; height: calc(100vh - 4rem) !important; margin: 0 !important; padding: 0 !important; transform: translate(-50%, -50%) translate(var(--scpc-lightbox-x), var(--scpc-lightbox-y)) scale(var(--scpc-lightbox-scale)) !important; transform-origin: center center !important; background-repeat: no-repeat !important; background-position: center center !important; background-size: contain !important; z-index: 2; cursor: grab; touch-action: none; user-select: none; }
.scpc-image-lightbox-stage:active { cursor: grabbing; }
.scpc-image-lightbox-close { appearance: none !important; box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; position: fixed !important; top: calc(env(safe-area-inset-top, 0px) + 12px) !important; right: calc(env(safe-area-inset-right, 0px) + 12px) !important; width: 52px !important; height: 52px !important; min-width: 52px !important; min-height: 52px !important; padding: 0 !important; border: 2px solid rgba(0,0,0,.18) !important; border-radius: 999px !important; background: #fff !important; color: #111 !important; box-shadow: 0 4px 18px rgba(0,0,0,.35) !important; font-size: 28px !important; font-weight: 700 !important; line-height: 1 !important; text-align: center !important; cursor: pointer; touch-action: manipulation; pointer-events: auto !important; z-index: 2147483647 !important; }
.scpc-image-lightbox-close:hover { background: #fff !important; color: #111 !important; }
@media (max-width: 768px) {
  .fc-toolbar-chunk:nth-child(2) { flex-wrap: wrap; justify-content: center; }
  .fc-toolbar-chunk .scpc-category-legend { margin: 0.5rem 0 0 0 !important; justify-content: center; }
}
@media (max-width: 640px) {
  .scpc-image-lightbox { padding: 1rem; }
  .scpc-image-lightbox-stage { width: calc(100vw - 2rem) !important; height: calc(100vh - 2rem) !important; }
  .scpc-image-lightbox-close { top: calc(env(safe-area-inset-top, 0px) + 10px) !important; right: calc(env(safe-area-inset-right, 0px) + 10px) !important; width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important; line-height: 44px !important; }
}
