/* EduTrack — «Ruteros» (SIS). Ver docs/servicios-conexos/RUTEROS_VISTA.md */
.rut-wrap { padding: 24px 28px; }
.rut-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-bottom: 16px; }
.rut-head h2 { font-size: 22px; font-weight: 600; letter-spacing: -0.4px; margin: 0; }
.rut-sub { color: #6b6b6b; font-size: 14px; }
.rut-input { padding: 8px 12px; border: 1px solid #d8d8d8; border-radius: 10px; font: inherit; min-width: 220px; }
.rut-head .rut-input { margin-left: auto; }
.rut-tabs { display: flex; gap: 6px; margin-bottom: 18px; border-bottom: 1px solid #e3e3e3; }
.rut-tab { padding: 9px 16px; border: 0; border-bottom: 2px solid transparent; background: none; cursor: pointer;
  font: inherit; color: #6b6b6b; margin-bottom: -1px; }
.rut-tab:hover { color: #222; }
.rut-tab.is-active { color: #111; font-weight: 600; border-bottom-color: #111; }
.rut-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.rut-card { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 16px 18px; background: #fff;
  border: 1px solid #e3e3e3; border-radius: 14px; cursor: pointer; font: inherit; }
.rut-card:hover { border-color: #b9b9b9; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.rut-card-title { font-weight: 600; font-size: 15px; }
.rut-card-count { font-size: 14px; }
.rut-empty { color: #6b6b6b; padding: 12px 0; }
.rut-modal-card { max-width: 1200px; }
.rut-info { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 24px; margin: 10px 0 0;
  padding: 12px 14px; background: #f6f6f6; border-radius: 12px; font-size: 13px; }
.rut-info dt { color: #6b6b6b; font-size: 12px; margin-bottom: 2px; }
.rut-info dd { margin: 0; font-weight: 500; }
.rut-tools { display: flex; gap: 12px; align-items: center; margin: 12px 0; }
.rut-tools .rut-input { flex: 1; }
.rut-btn { padding: 8px 14px; border: 1px solid #d8d8d8; border-radius: 10px; background: #fff; cursor: pointer; font: inherit; }
.rut-btn:hover { background: #f3f3f3; }
.rut-tablewrap { overflow: auto; max-height: calc(100vh - 300px); border: 1px solid #e3e3e3; border-radius: 12px; }
.rut-table { border-collapse: collapse; width: 100%; font-size: 13px; white-space: nowrap; }
.rut-table th { position: sticky; top: 0; background: #f6f6f6; text-align: left; padding: 8px 12px; font-weight: 600; }
.rut-table td { padding: 7px 12px; border-top: 1px solid #eee; }
@media (max-width: 700px) { .rut-wrap { padding: 16px 12px; } .rut-head .rut-input { margin-left: 0; width: 100%; } }
