/* Extrait de teacher-dashboard.html. Ordre historique : 10. */
#modalAssignManager { z-index: 10000; }
#modalAssignManager .modal-content { max-width: 980px; padding: 0; overflow: hidden; max-height: 90vh; display: flex; flex-direction: column; }
.amgr-header { padding: 18px 24px 14px; border-bottom: 1px solid #e5e7eb; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.amgr-header h3 { font-size: 20px; font-weight: 700; color: #111827; margin: 0; }
.amgr-meta { font-size: 13px; color: #6b7280; margin-top: 2px; }
.amgr-toolbar { padding: 10px 24px; border-bottom: 1px solid #e5e7eb; display: flex; align-items: center; gap: 10px; background: #f9fafb; flex-shrink: 0; flex-wrap: wrap; }
.amgr-view-switch { display: flex; border: 1px solid #d1d5db; border-radius: 8px; overflow: hidden; }
.amgr-view-switch button { padding: 6px 14px; font-size: 12px; font-weight: 600; background: none; border: none; cursor: pointer; color: #6b7280; transition: background 0.15s, color 0.15s; white-space: nowrap; }
.amgr-view-switch button.active { background: #1d4ed8; color: white; }
.amgr-toolbar select { font-size: 12px; padding: 5px 8px; border: 1px solid #d1d5db; border-radius: 8px; background: white; color: #374151; }
.amgr-btn-mass { font-size: 12px; padding: 6px 14px; border: 1px solid #1d4ed8; border-radius: 8px; color: #1d4ed8; background: none; cursor: pointer; white-space: nowrap; margin-left: auto; }
.amgr-body { overflow-y: auto; flex: 1; min-height: 200px; }
.amgr-group { border-bottom: 1px solid #e5e7eb; }
.amgr-group-header { padding: 11px 24px; display: flex; align-items: center; gap: 10px; cursor: pointer; background: #f9fafb; user-select: none; }
.amgr-group-header:hover { background: #f0f4ff; }
.amgr-group-header input[type=checkbox] { accent-color: #1d4ed8; width: 15px; height: 15px; flex-shrink: 0; }
.amgr-group-name { font-size: 14px; font-weight: 600; color: #1f2937; flex: 1; }
.amgr-badge { font-size: 11px; padding: 2px 8px; border-radius: 20px; font-weight: 600; white-space: nowrap; }
.amgr-badge.blue { background: #dbeafe; color: #1e3a8a; }
.amgr-badge.green { background: #dcfce7; color: #14532d; }
.amgr-badge.orange { background: #fef3c7; color: #78350f; }
.amgr-badge.red { background: #fee2e2; color: #7f1d1d; }
.amgr-chevron { font-size: 11px; color: #9ca3af; transition: transform 0.2s; display: inline-block; }
.amgr-chevron.open { transform: rotate(90deg); }
.amgr-btn-add { font-size: 11px; padding: 3px 10px; background: #16a34a; color: white; border: none; border-radius: 6px; cursor: pointer; }
.amgr-group-rows { display: none; }
.amgr-group-rows.open { display: block; }
.amgr-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.amgr-table th { padding: 6px 12px 6px 24px; text-align: left; color: #9ca3af; font-weight: 500; font-size: 11px; border-bottom: 1px solid #f3f4f6; background: #fafafa; }
.amgr-table td { padding: 8px 12px 8px 24px; border-bottom: 1px solid #f3f4f6; color: #374151; vertical-align: middle; }
.amgr-table tr.late { background: #fff7ed; }
.amgr-table tr:hover td { background: #f8faff; }
.amgr-table tr.late:hover td { background: #fff0d6; }
.amgr-status { font-size: 11px; padding: 2px 8px; border-radius: 20px; font-weight: 600; }
.amgr-status.assigned { background: #e0e7ff; color: #3730a3; }
.amgr-status.completed { background: #dcfce7; color: #14532d; }
.amgr-status.late { background: #fef3c7; color: #78350f; }
.amgr-deadline-late { color: #dc2626; font-weight: 600; }
.amgr-action-btn { font-size: 11px; padding: 3px 8px; border-radius: 6px; cursor: pointer; border: 1px solid transparent; background: none; }
.amgr-action-btn.edit { border-color: #93c5fd; color: #1d4ed8; }
.amgr-action-btn.edit:hover { background: #dbeafe; }
.amgr-action-btn.del { border-color: #fca5a5; color: #dc2626; }
.amgr-action-btn.del:hover { background: #fee2e2; }
.amgr-action-btn.report { border-color: #93c5fd; background: #dbeafe; color: #1d4ed8; }
.amgr-deadline-edit { display: none; align-items: center; gap: 6px; margin-top: 4px; }
.amgr-deadline-edit.open { display: flex; }
.amgr-deadline-edit input { font-size: 11px; padding: 3px 6px; border: 1px solid #93c5fd; border-radius: 6px; color: #1f2937; }
.amgr-deadline-edit button { font-size: 11px; padding: 3px 8px; border: none; border-radius: 6px; cursor: pointer; }
.amgr-deadline-edit .ok { background: #1d4ed8; color: white; }
.amgr-deadline-edit .cancel { background: #e5e7eb; color: #374151; }
.amgr-footer { padding: 10px 24px; border-top: 1px solid #e5e7eb; display: flex; align-items: center; gap: 10px; background: #f9fafb; flex-shrink: 0; flex-wrap: wrap; }
.amgr-footer label { font-size: 12px; color: #6b7280; white-space: nowrap; }
.amgr-footer input[type=datetime-local] { font-size: 12px; padding: 5px 8px; border: 1px solid #d1d5db; border-radius: 8px; background: white; color: #374151; }
.amgr-apply-btn { font-size: 12px; padding: 6px 16px; background: #1d4ed8; color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: 600; }
.amgr-cancel-btn { font-size: 12px; padding: 6px 12px; border: 1px solid #d1d5db; border-radius: 8px; background: none; cursor: pointer; color: #6b7280; }
.amgr-empty { text-align: center; padding: 40px; color: #9ca3af; font-size: 14px; }
.amgr-loading { text-align: center; padding: 40px; color: #6b7280; font-size: 14px; }
