/* === module: schedule_arrange (日程展示) === */
      .schedule-arrange-overlay {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 8000;
        background: rgba(0, 0, 0, 0.75);
        justify-content: center;
        align-items: center;
      }
      .schedule-arrange-overlay.visible { display: flex; }
      .schedule-arrange-panel {
        background: #12121a;
        border: 1px solid #2a2a3a;
        border-radius: 18px;
        padding: 32px 36px 28px;
        max-width: 520px;
        width: 90%;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
      }
      .schedule-arrange-header h2 {
        font-size: 22px;
        color: #e8e6f0;
        margin: 0 0 6px;
      }
      .schedule-arrange-header p {
        color: #888;
        font-size: 13px;
        margin: 0 0 20px;
      }
      .schedule-arrange-timeline {
        display: flex;
        flex-direction: column;
        gap: 0;
        position: relative;
        padding-left: 28px;
        margin-bottom: 24px;
      }
      .schedule-entry {
        position: relative;
        padding: 12px 16px;
        border-left: 2px solid #333;
        margin-left: 0;
      }
      .schedule-entry:last-child { border-left-color: transparent; }
      .schedule-entry::before {
        content: '';
        position: absolute;
        left: -7px;
        top: 14px;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #333;
        border: 2px solid #12121a;
      }
      .schedule-entry.fixed::before { background: #555; }
      .schedule-entry.editable::before { background: #7c6ef0; box-shadow: 0 0 8px rgba(124, 110, 240, 0.4); }
      .schedule-entry-name {
        font-size: 15px;
        color: #e8e6f0;
        font-weight: 600;
      }
      .schedule-entry.fixed .schedule-entry-name { color: #777; }
      .schedule-entry-badge {
        display: inline-block;
        font-size: 10px;
        padding: 2px 8px;
        border-radius: 8px;
        margin-left: 8px;
        vertical-align: middle;
      }
      .schedule-entry-badge.locked {
        background: rgba(255, 255, 255, 0.06);
        color: #666;
      }
      .schedule-entry-badge.open {
        background: rgba(124, 110, 240, 0.15);
        color: #a89ef0;
      }
      .schedule-entry-topic {
        font-size: 12px;
        color: #666;
        margin-top: 2px;
      }
      .schedule-arrange-confirm-btn {
        display: block;
        width: 100%;
        padding: 14px;
        border: none;
        border-radius: 12px;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        background: #7c6ef0;
        color: #fff;
        transition: background 0.2s;
      }
      .schedule-arrange-confirm-btn:hover { background: #6b5dd3; }
