.edps-tutor-card{background:#fff;border:1px solid #e3e7f0;border-radius:20px;padding:28px;margin-bottom:32px;box-shadow:0 20px 45px rgba(10,22,70,.08)}
.edps-tutor-card__header{margin-bottom:24px}
.edps-tutor-card__header h2{margin:6px 0;font-size:1.6rem;color:#111827}
.edps-tutor-card__body{display:block}
.edps-tag{font-size:.8rem;font-weight:600;color:#2563eb;text-transform:uppercase;letter-spacing:.08em;margin:0}
.edps-lead{margin:0;color:#4b5563;font-size:1rem;max-width:720px}
.edps-alert{padding:18px;border-radius:12px;background:#f1f5f9;color:#0f172a}
.edps-alert--warning{background:#fff8e6;color:#92400e;border:1px solid #fde68a}
.edps-filter-bar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.edps-filter-field{display:flex;flex-direction:column;gap:6px;min-width:180px}
.edps-filter-field label{font-weight:600;color:#111827}
.edps-filter-field select,.edps-filter-field input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5}
.edps-filter-actions{display:flex;align-items:flex-end;gap:12px}
.edps-tutor-upload-list{display:grid;gap:16px}
.edps-upload-card{border:1px solid #e5e7eb;border-radius:16px;padding:18px;background:#fbfbfe}
.edps-upload-card__header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.edps-upload-card__header h3{margin:0;font-size:1.1rem}
.edps-upload-card__header p{margin:4px 0 0;color:#64748b}
.edps-upload-card__meta{display:flex;gap:12px;color:#475569;font-size:.9rem}
.edps-upload-filename{font-weight:600;color:#0f172a;margin:12px 0 4px}
.edps-upload-author{margin:0;color:#475569;font-size:.9rem}
.edps-upload-card__actions{margin-top:12px}
.edps-tutor-card--portal .edps-tutor-card__body{padding-top:8px}
.edps-student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.edps-student-card{border:1px solid #e2e8f0;border-radius:18px;background:#fdfdff;display:flex;flex-direction:column;overflow:hidden}
.edps-student-card__summary{display:flex;justify-content:space-between;align-items:center;width:100%;border:none;background:#f8fbff;padding:16px 20px;cursor:pointer}
.edps-student-card__summary-info{display:flex;align-items:center;gap:12px;text-align:left}
.edps-student-card__summary strong{font-size:1rem;color:#0f172a}
.edps-student-meta{display:block;font-size:.85rem;color:#475569}
.edps-student-summary-indicator{width:18px;height:18px;border-left:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(-45deg);transition:transform .2s ease}
.edps-student-card.is-open .edps-student-summary-indicator{transform:rotate(135deg)}
.edps-student-card__details{padding:20px;display:flex;flex-direction:column;gap:12px;border-top:1px solid #e2e8f0}
.edps-student-card__header{display:flex;gap:12px}
.edps-student-card__avatar img{border-radius:50%}
.edps-student-card__links{display:flex;flex-wrap:wrap;gap:8px}
.edps-links-form{margin-top:12px;display:flex;flex-direction:column;gap:8px;border:1px dashed #cbd5f5;padding:12px;border-radius:12px;background:#f8fbff}
.edps-links-form input{border:1px solid #cbd5f5;border-radius:8px;padding:8px}
.edps-student-card__uploads ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.edps-student-card__uploads li{display:flex;justify-content:space-between;font-size:.9rem;color:#475569}
.edps-student-card__notes{border-top:1px solid #e2e8f0;padding-top:10px}
.edps-student-empty{color:#94a3b8;font-size:.9rem;margin:0}
.edps-student-card--personal{border-color:#dbeafe;background:#f8fbff}
.edps-note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.edps-note{border:1px solid #dbeafe;border-radius:12px;padding:10px;background:#f8fbff}
.edps-note--alerta{border-color:#fdba74;background:#fff7ed}
.edps-note--urgente{border-color:#fecaca;background:#fef2f2}
.edps-note__header{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#0f172a}
.edps-note__body{font-size:.92rem;color:#475569;margin:6px 0}
.edps-note__meta{font-size:.75rem;color:#64748b;display:flex;gap:12px;flex-wrap:wrap}
.edps-note-remove{background:transparent;border:none;font-size:1.2rem;line-height:1;color:#6b7280;cursor:pointer}
.edps-note-form{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed #d1d5db}
.edps-note-form input,.edps-note-form textarea,.edps-note-form select{border:1px solid #cbd5f5;border-radius:10px;padding:8px;background:#fff}
.edps-note-form__row{display:flex;gap:10px}
.edps-note-feedback{font-size:.85rem;color:#2563eb;min-height:18px}
.edps-helper-note{font-size:.9rem;color:#6b7280;margin:8px 0 0}
.edps-note-empty{color:#94a3b8;font-size:.9rem}
.edps-role-box{margin-top:12px;border:1px dashed #dbeafe;border-radius:12px;padding:14px;background:#f8fbff;display:flex;flex-direction:column;gap:10px}
.edps-role-status{margin:0;font-size:.9rem;color:#0f172a}
.edps-file-missing{display:inline-block;margin-top:6px;font-size:.85rem;color:#be123c;font-weight:600}
.edps-student-hub .edps-student-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.edps-student-panel{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:12px}
.edps-student-panel__links{display:flex;flex-wrap:wrap;gap:10px}
.edps-student-shortcuts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.edps-embed-section{margin:20px auto;width:100%;max-width:1400px;border:1px solid #dbeafe;border-radius:16px;background:#fff;padding:12px;box-shadow:0 4px 12px rgba(0,0,0,0.05)}
.edps-embed-section iframe{width:100%;min-height:500px;height:80vh;border:0;border-radius:12px}
.edps-global-links-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.edps-student-panel--materials .edps-materials{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.edps-student-panel--materials .edps-materials li{display:flex;justify-content:space-between;align-items:center;background:#f8fbff;padding:10px 12px;border-radius:12px;border:1px solid #dbeafe}
.material-tag{text-transform:capitalize;font-size:.75rem;color:#2563eb;font-weight:600}
.edps-student-panel--upload .edps-card{box-shadow:none;border-radius:14px}
.edps-upload-hint{color:#475569;font-size:.9rem;margin:0 0 10px}
.edps-upload-progress{display:none;height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-top:8px}
.edps-upload-progress.is-active{display:block}
.edps-upload-progress__bar{height:100%;width:0;background:#2563eb;transition:width .15s ease}
.edps-material-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.edps-material-card{border:1px solid #dbeafe;border-radius:16px;padding:16px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.edps-material-card__header{display:flex;align-items:center;gap:12px}
.edps-material-card__header h4{margin:0;font-size:1rem;color:#0f172a}
.edps-material-card__body{margin-top:10px;display:flex;flex-direction:column;gap:10px}
.edps-material-description{color:#475569;font-size:.9rem}
.edps-material-preview iframe{width:100%;min-height:220px;border:0;border-radius:12px;background:#000}
.edps-student-card__materials{border-top:1px solid #e2e8f0;padding-top:10px}
.edps-material-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.edps-material-list li{display:flex;justify-content:space-between;align-items:flex-start;background:#f8fbff;border:1px solid #dbeafe;border-radius:12px;padding:10px}
.edps-material-info p{margin:4px 0 0;color:#475569;font-size:.9rem}
.edps-material-actions{margin-top:8px}
.edps-material-remove{background:none;border:none;font-size:1.2rem;color:#6b7280;cursor:pointer}
.edps-material-form{margin-top:12px;display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px dashed #d1d5db}
.edps-material-templates{margin-top:12px}
.edps-material-templates__list{display:flex;flex-wrap:wrap;gap:8px}
.edps-embed-wrapper{width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.edps-embed-wrapper iframe{width:100%;min-height:600px;border:0;border-radius:18px 18px 0 0}
.edps-embed-wrapper .button{margin:16px}
.edps-student-card__volumes{border-top:1px solid #e2e8f0;padding-top:12px;display:flex;flex-direction:column;gap:12px}
.edps-volume-progress{display:flex;flex-wrap:wrap;gap:10px}
.edps-volume-pill{background:#e0f2fe;padding:8px 12px;border-radius:999px;display:flex;gap:6px;align-items:center;font-size:.9rem}
.edps-volume-pill strong{font-size:1rem;color:#0f172a}
.edps-volume-table-wrapper{overflow:auto;margin-top:8px}
.edps-volume-table{width:100%;border-collapse:collapse}
.edps-volume-table th,.edps-volume-table td{border:1px solid #e5e7eb;padding:6px;text-align:left}
.edps-volume-table input{width:100%;border:1px solid #cbd5f5;border-radius:6px;padding:4px}
.edps-volume-block{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff}
.edps-volume-block summary{cursor:pointer;font-weight:600;color:#0f172a}
.edps-presence-summary{display:flex;gap:16px}
.edps-presence-summary div{border:1px solid #dbeafe;border-radius:12px;padding:12px;background:#f8fbff;flex:1;text-align:center}
.edps-presence-summary span{display:block;color:#475569;font-size:.9rem}
.edps-presence-summary strong{display:block;font-size:1.4rem;color:#0f172a}
.edps-presence-courses{width:100%;border-collapse:collapse;margin-top:12px}
.edps-presence-courses th,.edps-presence-courses td{border:1px solid #e5e7eb;padding:8px;text-align:left}
@media (max-width:640px){
    .edps-filter-bar{flex-direction:column}
    .edps-filter-actions{width:100%;justify-content:space-between}
    .edps-note-form__row{flex-direction:column}
}
.edps-student-grid{display:flex;flex-direction:column;gap:16px}
.edps-student-list-view{display:flex;flex-direction:column;gap:12px}
.edps-student-list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.edps-student-list-item__info{display:flex;gap:12px;align-items:center}
.edps-student-list-item__info strong{display:block;font-size:1rem;color:#0f172a}
.edps-student-list-item__info span{font-size:.85rem;color:#475569}
.edps-attendance-table-wrapper{width:100%;overflow:auto;margin-top:16px}
.edps-attendance-table{width:100%;border-collapse:collapse}
.edps-attendance-table th,.edps-attendance-table td{border:1px solid #e2e8f0;padding:8px;text-align:center}
.edps-attendance-table thead th{background:#f1f5f9;font-weight:600}
.edps-attendance-select{width:70px;border-radius:8px;border:1px solid #cbd5f5;padding:4px;background:#fff}
.edps-attendance-summary table{width:100%;border-collapse:collapse;margin-top:16px}
.edps-attendance-summary th,.edps-attendance-summary td{border:1px solid #e2e8f0;padding:8px;text-align:left}
