
.edt-plugin-wrapper {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #1f2937;
    margin: 0; padding: 10px; display: flex; flex-direction: column; align-items: center;
}
.edt-plugin-wrapper * { box-sizing: border-box; }

.edt-modal {
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); z-index: 99999; justify-content: center; align-items: center;
}
.modal-content { background: white; padding: 25px; border-radius: 12px; width: 90%; max-width: 420px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.modal-header { display: flex; justify-content: space-between; margin-bottom: 20px; }
.modal-header h2 { margin: 0; font-size: 1.2rem; }
.close-btn { cursor: pointer; font-size: 1.5rem; color: #6b7280; border: none; background: none; }

.form-group { margin-bottom: 15px; }
.form-group label { display: block; margin-bottom: 5px; font-size: 0.9rem; color: #374151; font-weight: 500; }
.form-group input[type="text"], .form-group select { width: 100%; padding: 8px; border: 1px solid #d1d5db; border-radius: 6px; }

.color-picker { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 5px; }
.color-option { width: 30px; height: 30px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; }
.color-option.selected { border-color: #1f2937; transform: scale(1.1); }

.btn-submit { background: #3b82f6; color: white; border: none; padding: 10px 15px; width: 100%; border-radius: 6px; cursor: pointer; font-weight: bold; margin-top: 10px; }
.btn-submit:hover { background: #2563eb; }
.btn-delete { background: #ef4444; color: white; border: none; padding: 10px 15px; width: 100%; border-radius: 6px; cursor: pointer; font-weight: bold; margin-top: 10px; display: none; }

.controls { width: 100%; max-width: 1200px; margin-bottom: 15px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.btn-clear { background: #ef4444; color: white; padding: 8px 15px; border: none; border-radius: 6px; cursor: pointer; }
.btn-reset { background: #8b5cf6; color: white; padding: 8px 15px; border: none; border-radius: 6px; cursor: pointer; }

.calendar-nav { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 15px; width: 100%; }
.btn-nav { background: #e5e7eb; color: #374151; font-weight: bold; border: none; padding: 8px 15px; border-radius: 6px; cursor: pointer; }
.btn-nav:hover { background: #d1d5db; }

.schedule-container { background-color: #ffffff; border-radius: 12px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); padding: 20px; width: 100%; max-width: 1200px; overflow-x: auto; position: relative; }
.month-container { background-color: #ffffff; border-radius: 12px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); padding: 20px; width: 100%; max-width: 1200px; display: none; flex-direction: column; }
.month-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin-top: 10px; }
.month-header-cell { background: #1f2937; color: white; padding: 10px; text-align: center; font-weight: bold; border-radius: 4px; text-transform: uppercase; font-size: 12px; }
.month-day-cell { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 4px; min-height: 100px; padding: 5px; display: flex; flex-direction: column; gap: 3px; }
.month-pill { font-size: 10px; padding: 4px; border-radius: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left-width: 3px; border-left-style: solid; color:inherit; }

.grid { display: grid; grid-template-columns: 70px repeat(7, 1fr); grid-template-rows: 50px repeat(17, 60px); gap: 2px; min-width: 950px; position: relative; }
.header-cell { background-color: #1f2937; font-weight: bold; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; line-height: 1.2; border-radius: 4px; color: #ffffff; font-size: 13px; text-transform: uppercase; }
.time-slot { background-color: #f9fafb; border: 1px dashed #e5e7eb; border-radius: 4px; cursor: pointer; transition: background 0.2s; }
.time-slot:hover, .time-slot.drag-over { background-color: #dbeafe; border: 2px dashed #3b82f6; }
.time-label { display: flex; justify-content: center; align-items: center; font-size: 12px; color: #6b7280; font-weight: bold; }

.course-card { 
    position: absolute; 
    top: 0;
    left: 0;
    width: calc(100% - 8px); 
    height: calc(100% - 8px); /* S'adapte à la durée de l'événement */
    margin: 4px; 
    
    border-radius: 6px; 
    padding: 8px; 
    font-size: 11px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    text-align: center; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
    border: 1px solid rgba(0,0,0,0.1); 
    overflow: hidden; 
    cursor: grab; 
    z-index: 10; 
    transition: transform 0.1s;
    box-sizing: border-box;
}
.course-card:active { cursor: grabbing; opacity: 0.8; }
.course-card:hover { transform: scale(1.02); z-index: 20; box-shadow: 0 4px 8px rgba(0,0,0,0.15); }
.course-card strong { font-size: 12px; margin-bottom: 4px; pointer-events: none; }
.course-card span { pointer-events: none; }
.day-column { position: relative; grid-row: 2 / span 17; display: grid; grid-template-rows: repeat(17, 1fr); pointer-events: none; }
.day-column > * { pointer-events: auto; }

.theme-blue { background-color: #eff6ff; border-left-color: #3b82f6; color: #1e3a8a; border-left-width: 4px; border-left-style: solid; }
.theme-yellow { background-color: #fefce8; border-left-color: #eab308; color: #854d0e; border-left-width: 4px; border-left-style: solid;}
.theme-red { background-color: #fef2f2; border-left-color: #ef4444; color: #7f1d1d; border-left-width: 4px; border-left-style: solid;}
.theme-green { background-color: #f0fdf4; border-left-color: #22c55e; color: #14532d; border-left-width: 4px; border-left-style: solid;}
.theme-purple { background-color: #faf5ff; border-left-color: #a855f7; color: #4c1d95; border-left-width: 4px; border-left-style: solid;}
.theme-pink { background-color: #fdf2f8; border-left-color: #ec4899; color: #831843; border-left-width: 4px; border-left-style: solid;}
.theme-orange { background-color: #fff7ed; border-left-color: #f97316; color: #7c2d12; border-left-width: 4px; border-left-style: solid;}
.theme-teal { background-color: #f0fdfa; border-left-color: #14b8a6; color: #115e59; border-left-width: 4px; border-left-style: solid;}
.theme-gray { background-color: #f8fafc; border-left-color: #94a3b8; color: #334155; border-left-width: 4px; border-left-style: solid;}
